
On Wed, 2009-06-03 at 16:33 +0100, Max Bolingbroke wrote:
2009/6/3 Niklas Broberg
: First there's the constructor called TransformListComp, which should really be named GeneralizedListComp, since the constructor should describe the extension and not the implementation scheme.
It's called TransformListComp because the "then f" syntax transforms a list using f (which has type [a] -> [a]) - not because the implementation works by transformation or anything like that! We considered but rejected GeneralizedListComp because it's too vague - what if someone comes up with another list comprehension generalisation in the future?
In that case can the documentation, eg in the ghc user guide[1] be updated to use the new name. It's jolly confusing to go looking for the extension name corresponding to the extension. The ghc user guide section on it calls it generalised and mentions no flag or extension name. We initially thought that the extension had never been registered and I only found it by accident when looking in the reference section of the ghc user guide on flag names[2] I noticed that "transform list comprehensions" actually links to the section on generalise list comprehensions. Duncan [1] http://haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#genera... [2] http://haskell.org/ghc/docs/latest/html/users_guide/flag-reference.html#id29...