Brian Hulley wrote:
I'm wondering if the monomorphism restriction is now just an anachronism
from Haskell 98 or if it is still needed for efficiency ie should I just
now use -fno-monomorphism-restriction when compiling all my code to
consign it to the dustbin of history? :-)
A related question is, if it can still improve efficiency when applied
to local bindings, whether it would be worthwhile to have an additional
option to switch monomorphism off for top level bindings but still keep
it for local bindings, since I can't think of any situation where I
don't want a top level binding to be fully polymorphic.
Does anyone know of any situation where a top level binding should not
be fully polymorphic?
The discussion on the monomorphism restriction on the haskell-prime list
recently should help you:
http://www.haskell.org//pipermail/haskell-prime/2006-February/000252.html
I measured what happened to the nofib suite with
-fno-monomorphism-restriction. The answer was, on the whole, "not
much". But there were a couple of programs that got worse.
It's a matter of personal taste whether you should use
-fno-monomorphism-restriction, I wouldn't like to emphatically declare
one way or the other which is best.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users