fused-effects / fused-effects/fused-effects
Improve constant factors of injection into sums.
- Dominant language
- Haskell
- Stars
- 672
- Forks
- 51
- PR merge metrics
- No merged PRs in 30d
Description
Right now we pay a performance penalty when using multiple effects in parallel, even though they fuse correctly, because `inj` (which is called every `send` is O(n) in the number of effects rather than O(1)). A smarter `Sum`/`Union` type could perhaps ameliorate this situation, though we may have to change some code upstream.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing `inj`, which is called by every `send`, and inspect the `Sum`/`Union` types and any upstream code they depend on. Done means reducing injection from O(n) to O(1) for multiple parallel effects without breaking their fusion behavior, with performance evidence and relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100