在haskell中,做什么:+:在数据类型定义中意味着什么?

Sam*_*Sam 12 haskell

这是新数据类型的定义:

data Total a = Total a :+: Total a 
              |...
Run Code Online (Sandbox Code Playgroud)

什么:+:在这种类型定义中意味着什么?

Sat*_*vik 10

它是以中缀形式编写的数据构造函数.如果以操作符开头,则可以将操作符作为构造函数:.

  • @ user1720938:用于视觉对称.纯粹是一种美学的东西. (6认同)
  • 轻描淡写地说,`:`是一个大写的符号:D (5认同)
  • 要向@ CAMcCann的注释添加一些可能不会立即明确的上下文:当在_type expressions_中使用符号时,如`Int + Char`,扩展将所有符号视为"大写".在值球体中,`:`仍然是唯一的大写符号,值构造函数符号必须以`:`开头. (2认同)