Unikernels: Library operating systems for the cloud
We present unikernels, a new approach to deploying cloud services via applications written
in high-level source code. Unikernels are single-purpose appliances that are compile-time …
in high-level source code. Unikernels are single-purpose appliances that are compile-time …
Retrofitting effect handlers onto OCaml
KC Sivaramakrishnan, S Dolan, L White… - Proceedings of the …, 2021 - dl.acm.org
Effect handlers have been gathering momentum as a mechanism for modular programming
with user-defined effects. Effect handlers allow for non-local control flow mechanisms such …
with user-defined effects. Effect handlers allow for non-local control flow mechanisms such …
Exceptional asynchronous session types: session types without tiers
Session types statically guarantee that communication complies with a protocol. However,
most accounts of session typing do not account for failure, which means they are of limited …
most accounts of session typing do not account for failure, which means they are of limited …
Ur/Web: A simple model for programming the web
A Chlipala - Proceedings of the 42nd Annual ACM SIGPLAN …, 2015 - dl.acm.org
The World Wide Web has evolved gradually from a document delivery platform to an
architecture for distributed programming. This largely unplanned evolution is apparent in the …
architecture for distributed programming. This largely unplanned evolution is apparent in the …
Concurrent system programming with effect handlers
S Dolan, S Eliopoulos, D Hillerström… - Trends in Functional …, 2018 - Springer
Algebraic effects and their handlers have been steadily gaining attention as a programming
language feature for composably expressing user-defined computational effects. While …
language feature for composably expressing user-defined computational effects. While …
From bytecode to JavaScript: the Js_of_ocaml compiler
J Vouillon, V Balat - Software: Practice and Experience, 2014 - Wiley Online Library
We present the design and implementation of a compiler from OCaml bytecode to
JavaScript. The compiler first translates the bytecode into a static single‐assignment …
JavaScript. The compiler first translates the bytecode into a static single‐assignment …
Multiparty session programming with global protocol combinators
Multiparty Session Types (MPST) is a typing discipline for communication protocols. It
ensures the absence of communication errors and deadlocks for well-typed communicating …
ensures the absence of communication errors and deadlocks for well-typed communicating …
There is no fork: An abstraction for efficient, concurrent, and concise data access
S Marlow, L Brandy, J Coens, J Purdy - Proceedings of the 19th ACM …, 2014 - dl.acm.org
We describe a new programming idiom for concurrency, based on Applicative Functors,
where concurrency is implicit in the Applicative<*> operator. The result is that concurrent …
where concurrency is implicit in the Applicative<*> operator. The result is that concurrent …
[HTML][HTML] Session-ocaml: A session-based library with polarities and lenses
We propose session-ocaml, a novel library for session-typed concurrent/distributed
programming in OCaml. Our technique solely relies on parametric polymorphism, which can …
programming in OCaml. Our technique solely relies on parametric polymorphism, which can …
Towards certified separate compilation for concurrent programs
Certified separate compilation is important for establishing end-to-end guarantees for
certified systems consisting of multiple program modules. There has been much work …
certified systems consisting of multiple program modules. There has been much work …