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

And*_*man 6 haskell

我学习Haskell.来自Haskell 2010文档:

  • 以冒号开头的运算符符号是构造函数.
  • 以任何其他字符开头的运算符符号是普通标识符.

我不明白第一句话.我知道存在数据构造函数类类型构造函数.这个案例有什么构造函数?也许我需要一个代码示例.

lef*_*out 7

你可以定义类似的东西

data Symbolic n
   = Constant n
   | Variable String
   | Symbolic n :+ Symbolic n
   | Symbolic n :* Symbolic n
  deriving (Show)
Run Code Online (Sandbox Code Playgroud)

GHCi>让v =变量; c =常数
GHCi> c 2:*v"a":+ c 3
    (常数2:*变量"a"):+常数3

这就是第一个短语所指的内容.