-
Notifications
You must be signed in to change notification settings - Fork 65
Things To Do
Harendra Kumar edited this page Oct 18, 2017
·
22 revisions
- Update documentation
- Add a tutorial/user guide with detailed use cases, examples
- Update existing examples
- Cover all main use cases and organize them systematically
- Add some FRP/SDL examples/games
- Test exception handling
- 100% coverage
- Add missing APIs
- foldr or Foldable instance
- left fold function for use with the foldl library
- Cross thread recursion
- Test real parallel processing and scaling, investigate if any memory barriers are needed for CAS stuff.
- Measure lock contentions, an option to dequeue work and run in batches instead of one at a time to reduce lock contention?
- Buffering, rate control: Bounded push queue size and API for that
- Test exception handling, resource cleanup at exception
-
Automaton
instance for machines - Cancel dropped tasks (e.g. after
take 1
)
- Use cases of parallel stream merging, sampling, buffering
- Do we need a Alternative that is dual to the current default i.e. race or just use
take 1
? - Explore
Kleisli Profunctor
andKleisli Arrow
instances? - Free applicative and Free Alternative, batched Alternative (push scheduling instead of pull scheduling)
- N-ary operations e.g. real balanced interleave
- Scheduling: Coalescing of tasks based on programmer defined criteria
- Batching based on the target host
- Batching/chunking for parallel/distributed execution
- Batching iterations
- Controlled parallelism:
- Control based on the level in the tree
- Control based on the CPU/IO utilization based pacing
- Utilize non-blocking IO
- Pause and resume using monad-recorder
- Save internal buffered state during a pause?