[Haskell-cafe] The infamous evil monomorphism restriction (was: A
bit of a shock - Memoizing functions)
bugfact at gmail.com
Fri Mar 27 19:51:42 EDT 2009
>From a previous email in the beginners list I more or less understood that
the monomorphism restriction will not exist anymore in Haskell Prime.
Is this correct?
On Fri, Mar 27, 2009 at 10:32 PM, Jonathan Cast
<jonathanccast at fastmail.fm>wrote:
> On Fri, 2009-03-27 at 14:26 -0700, Kirk Martinez wrote:
> > Your powersOfTwo function, since it gets memoized automatically (is
> > this the case for all functions of zero arguments?),
> It is the case for all functions which have zero arguments *at the time
> they are presented to the code generator*. The infamous evil
> monomorphism restriction arises from the fact that overloaded
> expressions, such as
> negative_one = exp(pi * sqrt(-1))
> look like functions of zero arguments, but are not, and hence do not get
> memoized. This behavior was considered sufficiently surprising, when it
> was discovered in early Haskell compilers, that the construct was
> outlawed from the language entirely.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe