Malcolm,

Thanks for your response. I think I am dense and am not quite understanding
your point. In the example you gave the foo and bar both take and return
unit.  Can you explain a bit more your point?

Trevor

On Sun, Mar 15, 2015 at 7:39 AM, Malcolm Matalka <[email protected]> wrote:

> The biggest reason is that it makes doing any monadic Result.t work
> possible.  Consider:
>
> foo () >>= fun () ->
> bar () >>= fun () ->
> Cohttp.something () >>= function
>   | Ok ... ->
>   | Error ... ->
>
>
> If every one of those functions returned a regular variant, you would
> not be able to compose them like that.
>
> Trevor Smith <[email protected]> writes:
>
> > Hello,
> >
> > I am curious to hear the design tradeoffs that were considered in
> choosing
> > polymorphic variants vs variants in the code.mli types. I haven't really
> > wrapped my head around why that decision was made, and am eager to learn
> > more about real world use of polymorphic variants.
> >
> > Thank you.
> >
> > Trevor
> > _______________________________________________
> > MirageOS-devel mailing list
> > [email protected]
> > http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
_______________________________________________
MirageOS-devel mailing list
[email protected]
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

Reply via email to