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

David Teller 1 Arnaud Spiwack 2, 3 Till Varoquaux 4
3 TYPICAL - Types, Logic and computing
LIX - Laboratoire d'informatique de l'École polytechnique [Palaiseau], Inria Saclay - Ile de France, X - École polytechnique, CNRS - Centre National de la Recherche Scientifique : UMR
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.
Type de document :
Communication dans un congrès
IFL 2008, Sep 2008, Hertfordshire, United Kingdom. 21 p., 2008
Liste complète des métadonnées

Littérature citée [20 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00432575
Contributeur : Arnaud Spiwack <>
Soumis le : lundi 16 novembre 2009 - 16:24:06
Dernière modification le : jeudi 10 mai 2018 - 02:06:34
Document(s) archivé(s) le : jeudi 17 juin 2010 - 20:32:37

Fichier

monad.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • 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., 2008. 〈inria-00432575〉

Partager

Métriques

Consultations de la notice

1438

Téléchargements de fichiers

692