You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Haskell中自定义运算符:.的含义是什么?

聊聊Haskell里的`:.”组合符号

嘿,这个`:.”符号其实是把构造符(cons)和一个点组合起来的自定义中缀构造符,专门用在自定义列表类型的场景里,给你看段实际代码就懂了:

-- The custom list type
data List t = Nil | t :. List t deriving (Eq, Ord)
-- Right-associative infixr 5 :.

简单拆解下这段代码:

  • 第一行定义了一个泛型的List类型,它有两种形态:Nil代表空列表,另一种就是用:.”把单个元素和另一个List`拼接起来,以此构建非空列表
  • 第二行声明:.”是**右结合**的中缀运算符,优先级为5,这样写1 :. 2 :. Nil时,会自动按1 :. (2 :. Nil)`的逻辑解析,完全符合我们构建列表的直觉

内容的提问来源于stack exchange,提问作者Atir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:25:04