Say I have the following custom data type and function in Haskell:
data Person = Person { first_name :: String,
last_name :: String,
age :: Int
} deriving (Eq, Ord, Show)
If I want to create a function print_age to print a Person’s age, like so: print_age (Person "John" "Smith" 21) , how would I write print_age to access the age parameter? I’m an Object Oriented guy, so I’m out of my element here. I’m basically looking for the equivalent of Person.age.
Function application is prefix, so
age personwould correspond to theperson.age()common in OOP languages. Theprint_agefunction could be defined pointfree by function compositionor point-full