[Haskell-beginners] Default values for Data Types?

Mike Sullivan mbsullivan at gmail.com
Mon Sep 22 15:38:32 EDT 2008

Hi all,

I was wondering if there is syntactic sugar in Haskell for defining a
default value for fields in a data type. For instance, say I have a type
that is defined in record syntax:

type CustomerID = Int
type Address = Maybe String

data Customer = Customer {
customerID :: CustomerID
, customerName :: String
, customerAddress :: Address
} deriving (Show)

Is there any way to define default values for some (or all) fields
such that they may be omitted from a declaration, and still have it
generate a valid object?

a = Customer{customerID = 12, customerName="Bill"}
-- I would like a{customerAddress} to default to Nothing (for instance).

It seems to me that this would be a nice feature to have, if it does not
exist. Am I missing something?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20080922/115daf47/attachment-0001.htm

More information about the Beginners mailing list