
2 Oct
2001
2 Oct
'01
10:14 a.m.
data Foo = Foo { a :: Int, b :: String }
instance Show Foo where show f = show (a f) ++ " " ++ show (b f)
foo = Foo { a = 99, b = "green bottles\n" }
main = do print foo let bar = foo { a = 98 } print bar
The above code is from Haskell FAQ. I could not find the "data Foo = Foo }" notation in my Haskell, The Craft of Functional Programming book. What does it mean? Also
instance Show Foo where show f = show (a f) ++ " " ++ show (b f)
I do not understand show (a f) either. And same goes for "foo { a = 98 }" notation. Could you help me on this notation? Thanks