Skip to Main content Skip to Navigation
Conference papers

Catch me if you can Looking for type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCaml

Abstract : This is the year 2008 and ML-style exceptions are everywhere. Most modern languages, whether academic or industrial, feature some variant of this mechanism. Languages such as Java even feature static coverage-checking for such exceptions, something not available for ML languages, at least not without resorting to external tools. In this document, we demonstrate a design principle and a tiny library for managing errors in a functional manner, with static coverage-checking, automatically-inferred, structurally typed and hierarchical exceptional cases, with a reasonable run-time penalty. Our work is based on OCaml and features monads, polymorphic variants, compile-time code rewriting and trace elements of black magic.
Document type :
Conference papers
Complete list of metadata

Cited literature [20 references]  Display  Hide  Download

https://hal.inria.fr/inria-00432575
Contributor : Arnaud Spiwack <>
Submitted on : Monday, November 16, 2009 - 4:24:06 PM
Last modification on : Thursday, March 5, 2020 - 6:21:58 PM
Long-term archiving on: : Thursday, June 17, 2010 - 8:32:37 PM

File

monad.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00432575, version 1

Collections

Citation

David Teller, Arnaud Spiwack, Till Varoquaux. Catch me if you can Looking for type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCaml. IFL 2008, Sep 2008, Hertfordshire, United Kingdom. 21 p. ⟨inria-00432575⟩

Share