If he really wanted to use a case-expression, he could write it this way:

 f x = case x of
        False -> 0
        True  -> 1

--Ham

At 1:02 PM +0100 2005/1/27, Henning Thielemann wrote:
On Thu, 27 Jan 2005 [EMAIL PROTECTED] wrote:

 Can a kind soul please enlighten me on why f bit0 and f bit1
 both return 0?

 > bit0     = False
 > bit1     = True
 > f x = case x of
 >         bit0 -> 0
 >         bit1 -> 1

If you compile with 'ghc -Wall' GHC should report that the identifier 'bit0' in the case expression shadows the global 'bit0' identifier. What you want to do is:

f x = if x == bit0 then 0 else 1

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to