26 Oct
2001
26 Oct
'01
7:16 a.m.
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