Si tengo una Haskell ADT tales como:nombres ADT. ¿Qué es `Left a`, y luego, ¿qué es` a` en Haskell?
data Foo
= A Int Double
| B Bool [Integer]
| C (Maybe String) Float
la A
, B
, y C
se denominan constructores de datos; y a veces como constructores de valores . Pero, ¿cuál es el nombre correcto para:
- a "row/alternative": p.
B Bool [Integer]
; y - un "campo/elemento" de una "fila/alternativa": p. el
Double
enA
, o el[Integer]
enB
?
Creo que te describes 'B: Bool -> [entero] -> foo' como el constructor y su tipo. 'Bool' y' [Integer] 'serían sus argumentos y p. '[Integer]' sería un único parámetro o argumento. Pero no estoy seguro de si estos son los nombres generalmente aceptados. – nobody
Según lo que he visto, "campos" es el término correcto. "Parámetro" o "argumento" solo se usa cuando en realidad * se está construyendo *. – Nate
Supongo que normalmente no siento la necesidad de referirme a esas cosas. Por lo general, es suficiente hacer referencia al "constructor C" o al "tipo Foo". ¿Tiene un ejemplo de oración de relleno en blanco en la que desea referirse a estas cosas? (Quizás los contestadores aceptarían el desafío de usar estos términos de manera significativa en una oración.) –