Hi,

I can write:
*Main> let yes = not . not
*Main> :t yes
yes :: Bool -> Bool

But not:
*Main> let isNotEqual = not . (==)

<interactive>:1:23:
    Couldn't match expected type `Bool'
           against inferred type `a -> Bool'
    Probable cause: `==' is applied to too few arguments
    In the second argument of `(.)', namely `(==)'
    In the expression: not . (==)

Why?

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

Reply via email to