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 <[email protected]> wrote: > 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 > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
