【发布时间】:2011-12-19 15:34:13
【问题描述】:
如果我有 Haskell ADT,例如:
data Foo
= A Int Double
| B Bool [Integer]
| C (Maybe String) Float
A、B 和C 被称为数据构造函数;有时作为值构造函数。但是正确的名称是什么:
- “行/替代”:例如
B Bool [Integer];和 - “行/替代”的“字段/元素”:例如
Double中的A,或[Integer]中的B?
【问题讨论】:
-
我认为您会将
B : Bool -> [Integer] -> Foo描述为构造函数及其类型。Bool和[Integer]将是它的论点,例如[Integer]将是单个参数或参数。但我不确定这些是否是普遍接受的名称。 -
据我所知,“字段”是正确的术语。 “参数”或“参数”仅在实际构造时使用。
-
我想我通常不觉得有必要参考这些东西。通常引用“构造函数 C”或“类型 Foo”就足够了。您是否有一个示例填空句子,您希望在其中引用这些内容? (也许回答者会接受在句子中有意义地使用这些术语的挑战。)
标签: haskell functional-programming terminology algebraic-data-types