我仍在学习价值构造函数的工作原理。我阅读了很多关于数据类型及其值构造函数的内容。问题是我在实践中从未见过它们。例如
data Nat = Zero | Succ Nat
现在,如果我们想定义一个函数,它接受两个 Nat 输入并返回乘积,我们该怎么做呢?如果我们想使用运算符 *,我们必须将它们转换为 Haskell 积分。如果我们想要实现一个需要两个 Nat 的 mult 函数,它应该将它们相乘而不将它们转换为 Haskel 积分,那会是什么样子?
我真的还没有得到数据类型|值构造函数。谁能从上面的数据 Nat 示例中说明如何正确使用此类值构造函数?