[clean-list] Lists
Susumu Katayama
susumu@research.nj.nec.com
Tue, 21 May 2002 20:07:49 -0400 (EDT)
Here is a definition of working [ 1.0, 1.1 .. 2.0 ], stolen from Haskell98 Report.
module enumFromThenTo
import StdEnv
numericEnumFromThen n m = iterate (\x -> x +(m-n)) n
numericEnumFromThenTo n n` m = takeWhile p (numericEnumFromThen n n`)
where
p | n` > n = \x -> x <= m + (n`-n)/2.0
| otherwise = \x -> x >= m + (n`-n)/2.0
Start = numericEnumFromThenTo 1.0 1.1 2.0
// Start = numericEnumFromThenTo 1.0 1.1 5.0