如果我有一个Haskell ADT如:ADT名称。在Haskell中,什么是“留下了”,然后是什么“a”?
data Foo
= A Int Double
| B Bool [Integer]
| C (Maybe String) Float
的A
,B
,和C
被称为数据构造;有时可以看作价值构造函数。但是什么是正确的名称:
- “行/备选”:例如,
B Bool [Integer]
;和“行/备选”的“字段/元素”:例如,Double
inA
或[Integer]
inB
?
我想你会形容'B:BOOL - > [整数] - > Foo'的构造和类型。 'Bool'和'[Integer]'是它的论点,例如'[Integer]'是单个参数或参数。但我不确定这些是否是普遍接受的名称。 – nobody
从我所看到的,“领域”是正确的术语。 “参数”或“参数”仅在实际构建*时使用。 – Nate
我想我通常不会觉得有必要提及这些东西。引用“构造函数C”或“类型Foo”通常就足够了。你有没有想要参考这些东西的例子填空句子? (也许回答者会接受在句子中有意义地使用这些术语的挑战。) –