English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Re: [Caml-list] Static exception analysis or alternative to using exceptions
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-05-27 (03:37)
From: Jacques Le Normand <rathereasy@g...>
Subject: Re: [Caml-list] Static exception analysis or alternative to using exceptions
Jane Street's Core seems to prefer options to exceptions

On Wed, May 26, 2010 at 5:10 PM, Hans Ole Rafaelsen <hrafaelsen@gmail.com>wrote:

> On Wed, May 26, 2010 at 7:30 PM, Dario Teixeira <darioteixeira@yahoo.com>wrote:
>> Hi,
>> > What experience does people have to using alternatives to exceptions,
>> > such as option types or exception monads? Does use of third part
>> > libraries that still throws exceptions make such approaches hard to use?
>> > Performance wise it seems to be comparable to catching exceptions or
>> > matching for options, so I guess the difference be might a question of
>> > programming style?
>> Partly yes, though I would say that in Ocaml it is tempting to use
>> exceptions beyond what is reasonable, because they are so cheap and
>> convenient.  As you noted, this can lead to trouble at runtime, which
>> is why some libraries discourage the "exceptional style", preferring
>> option types and forcing users to invoke functions suffixed by "_exc"
>> if they really want to use the exception-based version.
>> Personally, I think the litmus test hinges on whether the supposedly
>> exceptional situation is truly worthy of the name.  If it's a common
>> occurrence, perhaps one should reconsider the use of an "exception".
>> Without meaning to start an holy war, let me just add that even on
>> the Stdlib there are functions (such as Map.S.find) that raise an
>> exception but which should perhaps return an option type.
>> Btw, you didn't mention it explicitly in your message, but I trust you
>> are familiar with "Catch me if you can"? [1]
> I have just read about it, not tested it yet. Do you have any experience
> using this library, especially together with other libraries that also
> provides syntax extension?
>> Best regards,
>> Dario Teixeira
>> [1]
>> http://dutherenverseauborddelatable.wordpress.com/downloads/exception-monads-for-ocaml/
>> Thanks,
> Hans Ole
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs