Records
Records
type Name = String
type Person =
{ firstName :: Name
, secondName :: Name
}
{-
This is syntax sugared
"type Person = Record (FirstName :: Name , SecondName :: Name)"
-}
Fields can be accessed by .
leader :: Person
leader = {firstName = "John", lastName = "Portsman"}
>leader.firstName
"John"
This is how we update a record.
newLeader :: Person
newLeader = leader{firstName = "James"}
>newLeader.lastName
"Portsman"
