package picos
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=343a8b4759239ca0c107145b8e2cc94c14625fecc0b0887d3c40a9ab7537b8da
sha512=db22b0a5b3adc603c0e815c9011c779f892b9ace76be018b2198d3e24a7d96727c999701025fe5a5fd07d0b452cb7286fc50c939aba0e4dce809941e9ebc12a6
CHANGES.md.html
0.4.0
Renamed
Picos_mpsc_queue
toPicos_mpscq
. (@polytypic)Core API changes:
Added
Computation.returned
. (@polytypic)
Lwt
interop improvements:Fixed
Picos_lwt
handling ofCancel_after
to not raise in case of cancelation. (@polytypic)Redesigned
Picos_lwt
to take aSystem
module, which must implement a semi thread-safe trigger mechanism to allow unblockingLwt
promises on the main thread. (@polytypic)Added
Picos_lwt_unix
interface toLwt
, which includes an internalSystem
module implemented usingLwt_unix
. (@polytypic)Dropped thunking from
Picos_lwt.await
. (@polytypic)
Added a randomized multicore scheduler
Picos_randos
for testing. (@polytypic)Changed
Picos_select.check_configured
to always (re)configure signal handling on the current thread. (@polytypic)Picos_structured
:Added a minimalistic
Promise
abstraction. (@polytypic)Changed to more consistently not treat
Terminate
as an error. (@polytypic)
Changed schedulers to take
~forbid
as an optional argument. (@polytypic)Various minor additions, fixes, and documentation improvements. (@polytypic)
0.3.0
Core API changes:
Added
Fiber.set_computation
, which represents a semantic changeRenamed
Fiber.computation
toFiber.get_computation
Added
Computation.attach_canceler
Added
Fiber.sleep
Added
Fiber.create_packed
Removed
Fiber.try_attach
Removed
Fiber.detach
Most of the above changes were motivated by work on and requirements of the added structured concurrency library (@polytypic)
Added a basic user level structured concurrent programming library
Picos_structured
(@polytypic)Added a functorized
Picos_lwt
providing direct style effects based interface to programming with Lwt (@polytypic)Added missing
Picos_stdio.Unix.select
(@polytypic)
0.2.0
Documentation fixes and restructuring (@polytypic)
Scheduler friendly
waitpid
,wait
, andsystem
inPicos_stdio.Unix
for platforms other than Windows (@polytypic)Added
Picos_select.configure
to allow, and sometimes require, configuringPicos_select
for co-operation with libraries that also deal with signals (@polytypic)Moved
Picos_tls
intoPicos_thread.TLS
(@polytypic)Enhanced
sleep
andsleepf
inPicos_stdio.Unix
to block in a scheduler friendly manner (@polytypic)
0.1.0
First experimental release of Picos.
Core:
picos
— A framework for interoperable effects based concurrency.
Sample schedulers:
picos.fifos
— Basic single-threaded effects based Picos compatible scheduler for OCaml 5.picos.threaded
— BasicThread
based Picos compatible scheduler for OCaml 4.
Scheduler agnostic libraries:
picos.sync
— Basic communication and synchronization primitives for Picos.picos.stdio
— Basic IO facilities based on OCaml standard libraries for Picos.picos.select
— BasicUnix.select
based IO event loop for Picos.
Auxiliary libraries:
picos.domain
— Minimalistic domain API available both on OCaml 5 and on OCaml 4.picos.exn_bt
— Wrapper for exceptions with backtraces.picos.fd
— Externally reference counted file descriptors.picos.htbl
— Lock-free hash table.picos.mpsc_queue
— Multi-producer, single-consumer queue.picos.rc
— External reference counting tables for disposable resources.picos.tls
— Thread-local storage.