Version française
Home     About     Download     Resources     Contact us    
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: -- (:)
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
>