En Haskell, se puede definir un tipo de datos de este modo:clases de tipos en los tipos de datos de Haskell
data Point1 = Point1 {
x :: Integer
, y :: Integer
}
Can clases de una utilización de tipo de variables dentro de un tipo de datos? ¿Si es así, cómo? Me doy cuenta de que es posible hacer esto como un tipo de datos algebraicos, con una definición diferente para cada tipo de punto, pero me pregunto si hay una manera de lograr esto de una manera más compacta y flexible.
p. Ej. Algo a lo largo de las líneas de este pseudocódigo que utiliza la sintaxis de declaración de la función:
data Point2 = Point2 {
x :: (Num a, Ord a) => a
, y :: (Num a, Ord a) => a
}
El objetivo sería permitir una para almacenar Int, Entero, flotador o dobles valores de los datos tipo. Idealmente, me gustaría restringirlo para que xey deban ser del mismo tipo.
Woohoo, ese es exactamente el punto que estaba viendo en mi comentario a la respuesta de newacct pero era demasiado vago para escribir :) – ephemient
Eso es muy informativo. Terminé usando el comentario de ephemient en mi código. Y tu explicación me ayudó a comprender mucho. (RWH aún no ha cubierto "instancia" pero es evidente lo que hace desde el contexto.) Muchas gracias. – Gregyski