Catch me if you can Looking for type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCaml - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2008

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

Résumé

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.
Fichier principal
Vignette du fichier
monad.pdf (192.23 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

inria-00432575 , version 1 (16-11-2009)

Identifiants

  • HAL Id : inria-00432575 , version 1

Citer

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⟩
1400 Consultations
2004 Téléchargements

Partager

Gmail Mastodon Facebook X LinkedIn More