我可以在Haskell中定义(:: :)吗?它是否以某种方式受到保护?

时间:2018-03-26 09:22:21

标签: haskell

我收到了这个错误,但据我所知,它应该有效。我错过了什么?

Not in scope: data constructor ':::'
        |
        | (:::) = cons
        | ^^^^^

infixr 5 :::声明也有类似的错误。

1 个答案:

答案 0 :(得分:5)

你可能错过了

  

以冒号开头的运算符符号是构造函数。

- The Haskell 2010 language report

在构造函数声明中使用应该起作用:

data Foo a b = a ::: b