Eff directly in OCaml

Oleg Kiselyov, K. C. Sivaramakrishnan

Research output: Contribution to journalConference articlepeer-review

7 Citations (Scopus)


The language Eff is an OCaml-like language serving as a prototype implementation of the theory of algebraic effects, intended for experimentation with algebraic effects on a large scale. We present the embedding of Eff into OCaml, using the library of delimited continuations or the multicore OCaml branch. We demonstrate the correctness of the embedding denotationally, relying on the tagless-final–style interpreter-based denotational semantics, including the novel, direct denotational semantics of multi-prompt delimited control. The embedding is systematic, lightweight, performant and supports even higher-order, ‘dynamic’ effects with their polymorphism. OCaml thus may be regarded as another implementation of Eff, broadening the scope and appeal of that language.

Original languageEnglish
Pages (from-to)23-58
Number of pages36
JournalElectronic Proceedings in Theoretical Computer Science, EPTCS
Publication statusPublished - 2018 Dec 31
Event2016 ML Family Workshop / OCaml Users and Developers Workshops, ML/OCAML 2016 - Nara, Japan
Duration: 2016 Sep 222016 Sep 23

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Eff directly in OCaml'. Together they form a unique fingerprint.

Cite this