MobiCom '98 Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking
Journal of Functional Programming
A poor man's concurrency monad
Journal of Functional Programming
Ocsigen: typing web interaction with objective Caml
Proceedings of the 2006 workshop on ML
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Why events are a bad idea (for high-concurrency servers)
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
An OCaml-based network services platform
CUFP '07 Proceedings of the 4th ACM SIGPLAN workshop on Commercial users of functional programming
Experience report: ocsigen, a web programming framework
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Multiscale not multicore: efficient heterogeneous cloud computing
Proceedings of the 2010 ACM-BCS Visions of Computer Science Conference
Turning down the LAMP: software specialisation for the cloud
HotCloud'10 Proceedings of the 2nd USENIX conference on Hot topics in cloud computing
AC: composable asynchronous IO for native languages
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Unikernels: library operating systems for the cloud
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Proceedings of the Seventh Workshop on Programming Languages and Operating Systems
QEMU/CPC: static analysis and CPS conversion for safe, portable, and efficient coroutines
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
We present a cooperative thread library for Objective Caml. The library is entirely written in Objective Caml and does not rely on any external C function. Programs involving threads are written in a monadic style. This makes it possible to write threaded code almost as regular ML code, even though it has a different semantics. Cooperative threads are especially well suited for concurrent network applications, where threads perform little computation and spend most of their time waiting for input or output, at which time other threads can run. This library has been successfully used in the Unison file synchronizer and the Ocsigen Web server.