the familiar lisp cons in JS, with some Clojuretastic extras.
npm install jscons the familiar lisp cons in JS, with some Clojuretastic extras.
an experiment for use with seq-fns.
npm install jscons
a Cons is either instanceof Cons or null.
Constructs a Cons from a head and tail. Ye olde (cons head tail).
If the tail is a List, this will be a List too.
Constructs a Seq from an array-like.
Returns a boolean indicating whether cons is a Cons.
Returns the head of the cons.
Returns the tail of the cons.
a List is either a cons of a value and another List, or null.
by definition, a List is a Cons.
Constructs a List from a head and another list.
Ye olde (cons head tail), but throws if the tail isn't a List.
Returns a boolean indicating whether list is a List.
Constructs a List from an array-like.
Does nothing for a list.
a Seq is either a cons of a value and another List, or null.
by definition, a Seq is a List, though a lazy one.
The tail is constructed the first time it is asked for, by calling the tailFn.
Constructs a Seq from a head and a tail thunk.
Constructs a Seq from an array-like. Because a Seq is lazy, the elements are only taken out of the array when asked for.
Forces the entire Seq to be constructed.