Implict parameters and monomorphism

Simon Peyton-Jones
Mon, 30 Apr 2001 09:45:20 -0700


Thanks for your detailed reply.

| In other words, the monomorphism restriction converts certain=20
| let bindings to lambda bindings.=20

But this approach pre-supposes that the monomorphism restriction
takes priority over the "must generalise implicit parameters" rule.
Once you make that supposition, then choice (B) follows.  Note
that choice (B) implies a loss of source-level beta reduction, which=20
I regard as rather serious.

But I rather think that the "must generalise implicit parameters" should
take priority, and the monomorphism restriction should not. Then=20
choice (C) follows. =20

Indeed, many people think that the monomorphism restriction should
go altogether, so (C) is a move in the right direction.

So my take is still: let's adopt (C).