You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tweak to $() so that it brands its single-shot iterable;
refactored to pull getIterator() out of IO/State, into
util.js, and it now checks for the (internal) brand to
allow do() / doEither() (both IO and State) to accept
a value wrapped by $().
various metaprogramming improvements
* Symbol.toPrimitive
* Symbol.hasInstance (instanceof checks the same as is() checks)
added Symbol.iterator to all monad values, to make them by
default single-iterable suitable for yield* delegation (IO/State
do-routines)
added $() helper to util, to wrap any value (such as promises)
as a single-iterable suitable for yield* delegation (IO/State
do-routines)
major breaking changes:
* State is no longer async-transformed, it operates purely synchronously
* AsyncEither has been removed (in favor of IO.doEither())
additions:
* `State.do()`, `State.doEither()` do-syntax
* `State.gets()`, `State.modify()` helpers
* IO-Helper: `tap()`