[m-dev.] generic result types

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Feb 18 14:44:22 AEDT 2009


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?

Julien.
--------------------------------------------------------------------------
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