Very pretty, Keean, though to get it to work in Hugs Nov 2002 I had to type the following uglier but equivalent syntax
> myInterval = Interval { > isin = (\r -> > if r == 0.6 then True else > if r > 0.7 && r < 1.0 then True else > False ) > } -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Keean Schupke Sent: Wednesday, October 27, 2004 3:53 AM To: Stijn De Saeger Cc: [EMAIL PROTECTED] Subject: Re: [Haskell-cafe] Set of reals...? I think someone else mentioned using functions earlier, rather than a datatype why not define: data Interval = Interval { isin :: Float -> Bool } Then each range becomes a function definition, for example: myInterval = Interval { isin r | r == 0.6 = True | r > 0.7 && r < 1.0 = True | otherwise = False } Then you can test with: (isin myInterval 0.6) Keean _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe