decir que tengo el siguiente tipo de datos personalizado y función en Haskell:miembros de Acceso de un tipo de datos personalizado en Haskell
data Person = Person { first_name :: String,
last_name :: String,
age :: Int
} deriving (Eq, Ord, Show)
Si quiero crear una función print_age
para imprimir la edad de una persona, de este modo: print_age (Person "John" "Smith" 21)
, ¿cómo escribiría print_age
para acceder al parámetro de edad? Soy un chico orientado a objetos, así que estoy fuera de mi elemento aquí. Básicamente estoy buscando el equivalente de Person.age.
En Frege (Haskell para la JVM) un registro presenta un espacio de nombres, por lo que iba a escribir '' 'Person.age person'''. Por otro lado, Frege permite escribir '' 'person.age''', al igual que en OO. – 0dB
Como una nueva (!) Newbee, estoy descubriendo que el desorden del espacio de nombres producido por los registros es feo y frustrante. La sintaxis de Frege es atractiva y, iiuc, evita este problema. – Alan
Ah, veo que no estoy solo: https://ghc.haskell.org/trac/ghc/wiki/Records/NameSpacing – Alan