Neil Mitchell wrote:
The Haskell desugaring for list comprehensions is given in:
http://haskell.org/onlinereport/exps.html#list-comprehensions
All the rules seem to be left to right rewrites, apart from the second
one, which seems to be right to left. Is there some deep reason for
this, or is this accidental.
Isn't the second rule left to right, too? The translation assumes that Q
is non-empty, so the three last rules don't match [e | q] but they match
[e | q, True]. The non-emptiness is probably for ruling out the invalid
list comprehension [e | ] which would otherwise appear as an
intermediate result in the translation for empty Q.
Regards,
apfelmus
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe