Hi,
Haskell Report 6.3.4, pg 86-87, talks about arithmetic sequences.
For all four of these Prelude numeric types, all of the enumFrom
family of functions are strict in all their arguments.
This seems to imply that for other Prelude types, functions of the
enumFrom family aren't. Yet,
bot :: Bool -> Bool
bot x = bot x
take 1 [False .. bot True]
doesn't terminate.
Possible solution, rewording: For all Prelude types, all of the enumFrom
family of functions are strict in all their arguments.
Incidentally, [1..5] is accepted (no space between 1 and the dots),
while [False..True] is not (no spaces after False), which appears to be
a parsing inconsistency. All this with, ghc-6.4.2 recent snapshots (and
also in 6.4). As for the upper limit, spaces or not are both OK.
Share and enjoy.
Laszlo
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs