Arrowlets
Release Notes
- Provides
Tuple
(and
Pair
) with support for
flattening and
pattern-matching (and thus support for the remaining arrow
combinators).
- Arr constructor provided to distinguish between standard JavaScript functions
(which are applied to flattened tuples), and tuple-aware functions (which are applied to the tuple
itself).
- All the basic arrow combinators are now implemented:
bind
and
join
combinators for collecting results.
- Much improved trampoline that is faster, fair, and correctly abides by the call-depth and time limits.
ProgressA
is now an explicit event source similar to
ElementA
, and should be used like:
progressA.next(EventA("progress")).next(...);
where "progress"
is the default event generated when arrowlets advance.
- The
SignalA(eventname)
arrowlet can be used to
signal any custom event to ProgressA
.
- Uses object-based continuations, which is faster than closures in most JavaScript implementations.
- Uses an exceptions-based trampoline continuation-passing-style, which avoids stack overflows in long
compositions.
- The version of Arrowlets described in the
technical report.
- Uses closure-based continuations, which is slower in JavaScript.
- Uses straightforward continuation-passing-style, which may lead to stack overflows in long compositions.
Web Accessibility