lazy-linked-lists | Lazy and infinite linked lists for JavaScript
kandi X-RAY | lazy-linked-lists Summary
kandi X-RAY | lazy-linked-lists Summary
lazy-linked-lists is a JavaScript library. lazy-linked-lists has no bugs, it has no vulnerabilities and it has low support. However lazy-linked-lists has a Non-SPDX License. You can install using 'npm i lazy-linked-lists' or download it from GitHub, npm.
This library is adapted from maryamyriameliamurphies.js with several modifications. It includes functions for creating both eagerly and lazily-evaluated linked list data structures, including infinite lists, and a core subset of functions for working with them. Unlike maryamyriameliamurphies.js, however, lazy-linked-lists does not implement function currying, partial application, or type checking. It does, however, implement most of the standard Haskell type classes as instance methods, and it also implements the ES2015 iteration protocols, so you can use them in for...of loops or otherwise as regular iterators. The lazy lists provided by this library are implemented using the new Proxy API in ES2015. Briefly, the lists returned from most of the list constructors are actually hidden behind proxy objects that trap references to their "tail" property, so that list elements, produced by an ES2015 generator function, are only evaluated on demand. Obviously, if you request the entire tail (by, for example, calling the length() function on a list), then the entire tail will be evaluated. You will want to avoid doing that with infinite lists. Note that as of this writing, most implementations of the ES2015 standard do not yet support proper tail calls. But support is on its way! The newest versions of node and Safari have already rolled it out, and other vendors are surely not far behind. See the top line of this compatibility chart to track the progress of the feature that will make recursively defined, fully-functional, high octane linked lists in JavaScript a reality. Until that fateful day, however, you may be limited to lists of only 10,000 elements or so. For further details, see the documentation for maryamyriameliamurphies.js.
This library is adapted from maryamyriameliamurphies.js with several modifications. It includes functions for creating both eagerly and lazily-evaluated linked list data structures, including infinite lists, and a core subset of functions for working with them. Unlike maryamyriameliamurphies.js, however, lazy-linked-lists does not implement function currying, partial application, or type checking. It does, however, implement most of the standard Haskell type classes as instance methods, and it also implements the ES2015 iteration protocols, so you can use them in for...of loops or otherwise as regular iterators. The lazy lists provided by this library are implemented using the new Proxy API in ES2015. Briefly, the lists returned from most of the list constructors are actually hidden behind proxy objects that trap references to their "tail" property, so that list elements, produced by an ES2015 generator function, are only evaluated on demand. Obviously, if you request the entire tail (by, for example, calling the length() function on a list), then the entire tail will be evaluated. You will want to avoid doing that with infinite lists. Note that as of this writing, most implementations of the ES2015 standard do not yet support proper tail calls. But support is on its way! The newest versions of node and Safari have already rolled it out, and other vendors are surely not far behind. See the top line of this compatibility chart to track the progress of the feature that will make recursively defined, fully-functional, high octane linked lists in JavaScript a reality. Until that fateful day, however, you may be limited to lists of only 10,000 elements or so. For further details, see the documentation for maryamyriameliamurphies.js.
Support
Quality
Security
License
Reuse
Support
lazy-linked-lists has a low active ecosystem.
It has 14 star(s) with 2 fork(s). There are 1 watchers for this library.
It had no major release in the last 12 months.
lazy-linked-lists has no issues reported. There are 73 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of lazy-linked-lists is 0.1.1
Quality
lazy-linked-lists has 0 bugs and 0 code smells.
Security
lazy-linked-lists has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
lazy-linked-lists code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
lazy-linked-lists has a Non-SPDX License.
Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
Reuse
lazy-linked-lists releases are available to install and integrate.
Deployable package is available in npm.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of lazy-linked-lists
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of lazy-linked-lists
lazy-linked-lists Key Features
No Key Features are available at this moment for lazy-linked-lists.
lazy-linked-lists Examples and Code Snippets
No Code Snippets are available at this moment for lazy-linked-lists.
Community Discussions
No Community Discussions are available at this moment for lazy-linked-lists.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install lazy-linked-lists
Install with npm npm install --save-dev lazy-linked-lists. Do not install this package globally.
If you're transpiling >=ES2015 code with Babel, put import * as lazy from 'lazy-linked-lists'; at the top of your script files.
Or, to pollute your namespace, import functions individually: import {listRange, listRangeBy} from 'lazy-linked-lists';.
Or, if you aren't transpiling (or you're old school), use node's require syntax: const lazy = require('lazy-linked-lists');.
If you're transpiling >=ES2015 code with Babel, put import * as lazy from 'lazy-linked-lists'; at the top of your script files.
Or, to pollute your namespace, import functions individually: import {listRange, listRangeBy} from 'lazy-linked-lists';.
Or, if you aren't transpiling (or you're old school), use node's require syntax: const lazy = require('lazy-linked-lists');.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page