Unikernels: Library operating systems for the cloud

A Madhavapeddy, R Mortier, C Rotsos, D Scott… - ACM SIGARCH …, 2013 - dl.acm.org
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 …

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 …

Exceptional asynchronous session types: session types without tiers

S Fowler, S Lindley, JG Morris, S Decova - Proceedings of the ACM on …, 2019 - dl.acm.org
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 …

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 …

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 …

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 …

Multiparty session programming with global protocol combinators

K Imai, R Neykova, N Yoshida, S Yuen - arXiv preprint arXiv:2005.06333, 2020 - arxiv.org
Multiparty Session Types (MPST) is a typing discipline for communication protocols. It
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 …

[HTML][HTML] Session-ocaml: A session-based library with polarities and lenses

K Imai, N Yoshida, S Yuen - Science of Computer Programming, 2019 - Elsevier
We propose session-ocaml, a novel library for session-typed concurrent/distributed
programming in OCaml. Our technique solely relies on parametric polymorphism, which can …

Towards certified separate compilation for concurrent programs

H Jiang, H Liang, S Xiao, J Zha, X Feng - Proceedings of the 40th ACM …, 2019 - dl.acm.org
Certified separate compilation is important for establishing end-to-end guarantees for
certified systems consisting of multiple program modules. There has been much work …