
The prefix notation for
\a b c -> (a,b,c) is (,,)
Without the parentheses, it's not immediately clear whether
foo $ a,b means foo (a,b) or foo (\c -> (a,b,c)) or some other, bigger tuple size.
Anyways, it's just syntax :)
-- ryan
On Mon, Apr 6, 2009 at 9:08 AM, Daniel Fischer
Am Montag 06 April 2009 17:53:24 schrieb Paul Keir:
module Main where
data (:%^&) a b = a :%^& b deriving (Show)
main = do
print $ 18 :%^& (Just 99)
print $ (,) 9 10
print $ 9 , 10
The last line in the code above causes a compile error.
Why does infix use of the comma (tuple constructor?) function fail without brackets?
Tuples are special baked-in syntax. The parentheses are part of the tuple constructor(s). It may be confusing you that you can use it prefix as well as "aroundfix".
Thanks,
Paul
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe