optional arguments in haskell
I have declared my own type:
data Book = Bookinfo {
bookId :: Int,
title :: String
} deriving(Show)
and now:
x = Bookinfo
it is all ok, valid statement
but making bookId x throws an error.
If I would be a开发者_如何学Pythonble to handle errors in Haskell that would be ok but right now I cant do this So Im curious how to make not specified values of fields take default value, and what exactly value is there when I'm not giving vcalues of fields in construcotr ?
thanks for help
-- this one is not a Book but actually a function that can make one:
alternativeCtrFunc = Bookinfo
defaultBook = Bookinfo { bookId = 3, title = "Welcome to the Monkey House" }
x = defaultBook
y = defaultBook { bookId = 7 }
z = defaultBook { title = "The Cider House Rules" }
精彩评论