- Bower package.
- Better
isStream
test.
- Added
rec
for creating self referential streams. - Switched to using function based thunks instead of
bind
based thunks. ** Testing shows these perform much better: http://jsperf.com/bind-thunk-vs-call-thunk ** Also defers computing parameters to stream producer in thunk.
- Updated for Khepri V1.0.
- Performance improvements though recompile with khepri V0.23.0
- More sane impl of
every
- Performance improvements though recompile with khepri V0.21.13
- Added
zipWith
zip
generalization.
- Eliminated one function call per folding.
- Reduce number of function calls.
- Reworked node package to export submodules instead of grouping everything into top level scope..
- node package.
- Removed
.min.min.js
error file in dist.
- Removed use of index in all operations. ** Pass in an indexed stream to replicate old behavior.
- Added
stream.indexed
to create an indexed stream. - Added
NIL
as alias forend
. - Source files now live in
dist
instead oflib
.
- Added
stream.zip
to create stream of pairs from two streams. - Added
stream.reverse
to reverse a finite stream. - Added
stream.reduce
for left fold without initial value. - Added
stream.reduceRight
for left fold without initial value. - Improved
foldr
to work with longer, but still finite, streams.
- Fixed silly error that prevented filter from working correctly.
- Range uses a more general check, isNaN, for testing if a value is supplied. Before, a specific test for undefined was used. The new version supports the builtin number conversion logic.
- Fixed 'isStream' to also return true for empty streams. This is the expected behavior.
- 'forEach' also update to use correct argument order.
- Changed back to old 'toArray' logic which is more ugly but much faster.
- Changed all functions to support currying. Stream is now usually the last parameter.
- Removed support for using 'this' values for callbacks.
- 'reduce' and 'reduceRight' are now 'foldl' and 'foldr' because their behavior is more similar to the scheme versions of these functions that the javascript one. ** 'foldl' and 'foldr' require an initial value.
- Renamed 'concat' to 'append'
- Removed 'concata' and 'append' that replaced it now supports variable arguments instead.
- Added 'concat' function that creates a new stream from a list of streams.
- Added 'bind' function that creates a new stream by mapping a stream with a function and then joining results into a new stream.
- Fixed callback not using 'this' object value.
- Added 'isStream' predicate function to check if a given object is a valid stream.
- Added 'quantifier', 'select', and 'gen' modules.
- AMD imports now require module type paths, such as 'stream/stream'.
- Removed support for non AMD import.
- Added 'concatz' for joining two streams where the second stream is created lazily.
- Fixed 'concata' called with zero arguments throwing exception.
- Added 'concata' for joining multiple strings.
- Added some function names for better debugging.
- Added 'memoStream' to automatically memoize result of rest.
- Made concat lazy.
- Fixed issues with reduce.
- Rewrote some recursive implementation to iterative to avoid stack overflow.
- Made filter, from, and map incremental, they get a single value and then wait to compute rest if needed.
- Initial Release