[m-dev.] generic result types
Peter Ross
pdross at gmail.com
Wed Feb 18 14:56:04 AEDT 2009
On Wed, Feb 18, 2009 at 2:44 PM, Julien Fischer
<juliensf at csse.unimelb.edu.au> wrote:
>
> On Wed, 18 Feb 2009, Peter Ross wrote:
>
>> Hi,
>>
>> Do people think it would be useful to add the following generic types
>> to the standard library?
>>
>> :- type result(T, E)
>> ---> ok(T)
>> ; error(E)
>> .
>>
>> :- type partial_result(T, E) == partial_result(T, T, E).
>>
>> :- type partial_result(T, P, E)
>> ---> ok(T)
>> ; error(P, E)
>>
>> :- type result(E)
>> ---> ok
>> ; error(E)
>> .
>
> result/2 and result/1 almost already exist in the form of the
> maybe_error/[01] types. Making them polymoprhic in the error type would
> give you the above. Maybe, maybe_partial_result/3 could be added to the
> maybe module?
>
Good find, you are right they are essentially the same types.
I prefer the name result though, mainly because this is the name io
uses and so it seems more "natural" to me.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions: mercury-developers-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the developers
mailing list