Skip to content

Things To Do

Harendra Kumar edited this page Jul 20, 2018 · 22 revisions

These are in addition to the open issues:

Testing

  • ~100% coverage

Features

  • 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
  • Performance: Measure lock/CAS contention overhead, an option to dequeue work and run in batches instead of one at a time to reduce lock contention?
  • Cross thread recursion
  • Pause and resume using monad-recorder
  • Save internal buffered state during a pause?
  • Automaton instance for machines?
  • Explore Kleisli Profunctor and Kleisli Arrow instances?
Clone this wiki locally