12得票2回答
值构造函数和元组有什么区别?

据说 Haskell 元组只是代数数据类型的不同语法。同样,有一些例子展示了如何使用元组重新定义值构造函数。 例如,在 Haskell 中,Tree 数据类型可以这样写: data Tree a = EmptyTree | Node a (Tree a) (Tree a) 这些内容可以...

11得票2回答
为什么我不能在不同的数据类型之间重复使用相同的值构造函数?

我是Haskell的新手,可能错过了一些非常基本的东西,但我无法在不同的数据类型中重复使用相同的值构造函数。data Colour = Red | Pink | Orange | Yellow data Fruit = Apple | Orange | Banana 这会产生错误,错误信息为...

8得票1回答
为什么我能使用值构造函数,即使我没有导出它?

为了练习,我正在一个名为“Queue”的模块中实现队列数据类型。我的数据类型也被称为“Queue”,它的唯一值构造函数也是如此: module Queue (Queue, enq, emptyQueue) where data Queue a = Queue { inbox :: [...