- Add compose or extend functionality to effects and runners
- Cant handle end state with _
- Make operation handlers get resume, end, throwError as object (destructure)
- Allow calling generators from within effects
- Add ability to cancel a runner
- Add type signature checks
- Custom global operations
- Add name to runner to identify which Effects were composed
- Map/Over method for State effect
- Change package name to @algebraic-effects scope
- Migrate to yarn workspaces
- Move static functions of Tasks out to a another entry point
- Use something lazy instead of promises (Like Async) or something custom to allow chaing programs and pure operations with an api similar to Async.
- Prevent operation name collisions with effect namespace
- Clone/Extend effect interface with new name.
- "global" handlers to generic effects
- Support try-catch inside program
- Typescript types
- Stateful/parameterized states (to avoid the second parameter to .of method of State)
- ?Redux middleware
Multiple continuations
- Implement
- Handle cancellation
- Async multiple continuations (with custom value handler)
Task
- Fix resolveWith, rejectWith to reolve/reject after the previous operations
- Cancellation handler
- Allow cancellation from within
Observable
- Implement observable monad to be used instead of Task monad
- Static methods
- of
- range
- from
- Implement Observable methods
- Mapping - map, chain, catch
- Filter
- filter
- replace
- ifElse bi chain
- Utils
- Delay
- Take
- Interval
- Tap
- Repeat
- Combine
- merge
- zip
- concat
- race
Add more effects ...
- Exception
- State
- Random Number
- Logger
- Scheduler
- requestAnimationFrame
- requestIdleCallback
- setTimeout
- setInterval (multi)
- Debounce
- Throttling
Generic effects
- Synchronously call program
- Race between programs
- Parallel execution of programs
- Run program in background
- callMulti
- Call, Race, etc global operations
- Task monad
- Migrate all doc to use Task
- State effect update operation
- Random effect
- All flow operators
- Cancellation
- FAQ
- Clone/Extend
- "global" handlers to generic effects
- Multiple continuations
- Explain motivation and inspiration
- Testing
- Parameterized custom effects (like State)
- Usage with redux
- Custom global operations
- All links to next document below for readers to continue reading
- Version upgrade in publish script should upgrade matching dependencies as well
- Build and publish ae-docs as html github pages. (Maybe mdx?)
- ?Mobile issues (not confirmed yet)
- Docs issue with scrolling to link hook. (Should attempt scrolling after page load)