Incoherence

Lennart Augustsson lennart@augustsson.net
Fri, 26 Oct 2001 09:16:21 +0200


John Hughes wrote:

>         We can construct rather large polymorphic values, which have
>         to be converted in linear time to the same value of a
>         different type.
>
>
> All true, but I doubt whether any of this is a big deal. MLers already live
> with their "value restriction", which has similar penalties, so there is a
> precedent.

I fully agree.  Yes, you can construct examples where John's suggestion
would be really bad, but I think they very rare in practice.

I used to be a sceptic, but I now believe in having a clear indication when
you make polymorphic bindings.  Using `=' and `:=' is one way, another
(more verbose) would be to use explicit quantifiers for the type variables.

    -- Lennart