
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
A Python library to provide "chains", which are Lisp-like singly linked lists that support the lazy expansion of iterators. For example, we can construct a Chain of three characters from the iterable "abc" and it initially starts as unexpanded, shown by the three dots:
>>> from lazychains import lazychain
>>> c = lazychain( "abc")
>>> c
chain([...])
We can force the expansion of c by performing (say) a lookup or by forcing the whole chain of items by calling expand:
>>> c[1] # Force the expansion of the next 2 elements.
True
>>> c
chain(['a','b',...])
>>> c.expand() # Force the expansion of the whole chain.
chain(['a','b','c'])
Chain are typically a lot less efficient than using ordinary arrays. So, almost all the time you should carry on using ordinary arrays and/or tuples. But Chains have a couple of special features that makes them the perfect choice for some problems.
When you construct a chain from an iterator, you can choose whether or not it should be immediately expanded by calling chain rather than lazychain. The difference between the two is pictured below. First we can see what happens in the example given above where we create the chain using lazychain on "abc".
By contrast, we would immediately go to a fully expanded chain if we were to simply apply chain:
>>> from lazychains import chain
>>> c = chain( "abc" )
>>> c
chain(['a','b','c'])
>>>
FAQs
Singly linked lists with incremental instantiation of iterators
We found that lazychains demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.