Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO #84

Open
8 of 22 tasks
polytypic opened this issue Apr 8, 2024 · 0 comments
Open
8 of 22 tasks

TODO #84

polytypic opened this issue Apr 8, 2024 · 0 comments

Comments

@polytypic
Copy link
Collaborator

polytypic commented Apr 8, 2024

Next:

  • Support for Unix.wait and related functionality in Picos_stdio
  • Structured concurrency library/sample/primitives
  • A randomized scheduler (for testing)
  • Make sure time limited QCheck STM tests will use different seeds
  • Make the specification related to when the scheduler must propagate cancelation to fiber clear (i.e. if computation of the fiber has been canceled e.g. prior (happened before) to spawn then must the scheduler propagate cancelation or not?)
  • What, exactly, should e.g. Trigger.await do when the computation of the fiber has returned (not canceled)?
  • Carefully consider, document, and fix handling of asynchronous exceptions
    • How to best deal with Ctrl-C?
  • Elaborate on core library contracts
  • Picos_select automatic and explicit shutdown and full reconfiguration
  • Scheduler concept, i.e. ability to spawn to specified scheduler possibly on another thread/domain
  • io_uring, poll, possibly iocp, ... based async IO libraries
  • Split picos into two packages

Soon:

  • Lwt interop
    • Lwt based scheduler
    • Use notifications in Picos_lwt_unix
    • Bridge to call Lwt from any Picos scheduler
  • Async interop
  • Higher-level unstructured concurrency library

Eventually:

  • Sample JavaScript scheduler
  • Synchronous channel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant