[Haskell-cafe] RE: Re: Remember the future

Benjamin Franksen benjamin.franksen at bessy.de
Sat Aug 25 07:12:16 EDT 2007

Simon Peyton-Jones wrote:
> | >From the ghc manual:
> |
> | -----------
> | 7.3.3. The recursive do-notation
> | ...
> |
> | It is unfortunate that the manual does not give the translation rules,
or at
> | least the translation for the given example.
> Hmm.  OK.  I've improved the manual with a URL to the main paper
> http://citeseer.ist.psu.edu/erk02recursive.html
> which is highly readable. And I've given the translation for the example
as you suggest

After finally reading the paper I agree that repeating the translation in
teh manual is not a good idea. However, I suggest the manual should mention
the restrictions imposed for mdo (wrt the normal do)

 * no shadowing allowed for generator bound variables
 * let bindings must be monomorphic

Both of them might cause confusion if someone hits them by accident and
starts to wonder what's wrong with her code, in which case it would be
helpful if this information were directly available in teh manual. No need
to give a detailed rationale (that's what the paper can be read for), just
say that they are there.

BTW, I agree with the paper that the restrictions are sensible and typically
don't hurt.


More information about the Haskell-Cafe mailing list