Browse thread
Re: [Caml-list] Static exception analysis or alternative to using exceptions
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2010-05-27 (09:15) |
From: | David Rajchenbach-Teller <David.Teller@u...> |
Subject: | Re: [Caml-list] Static exception analysis or alternative to using exceptions |
Hi, If you're interested, three of us on this mailing-list wrote a paper on the topic two few years ago [1]. Best regards, David [1] _Catch me if you can Looking for type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCaml_, http://en.scientificcommons.org/52393896 On May 27, 2010, at 10:08 AM, Florent Ouchet wrote: > Hello, > > Same here, specially to avoid the Not_found exception. > The optional return values gives the oportunity to have a clear view of what is being done if the result is not available. > > - Florent > > Jacques Le Normand a écrit : >> 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 <mailto:hrafaelsen@gmail.com>> wrote: >> >> >> >> On Wed, May 26, 2010 at 7:30 PM, Dario Teixeira >> <darioteixeira@yahoo.com <mailto: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 >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> 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 >> > > > -- > Florent Ouchet > PhD Student > CIS/VDS Team - TIMA Laboratory > > > _______________________________________________ > 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 >