haskell - Haskell::.是什么意思?
问题描述
一个由 cons 组成的符号 (:.),后跟一个点。
取自这里:
-- The custom list type
data List t =
Nil
| t :. List t
deriving (Eq, Ord)
-- Right-associative
infixr 5 :.
解决方案
简而言之:代码构造了一个列表的替代版本,并且(:.)
是两个数据构造函数之一。
那么它是数据类型的数据构造函数。List t
例如标准列表[a]
有两个数据构造函数[]
,(:)
这里的代码引入了一个新的数据构造函数(:.)
,但它的作用与标准列表的“缺点”完全相同(:)
。
所以代码将其定义为:
data List t = Nil | (:.) t (List t) deriving (Eq, Ord)
和任何数据构造函数一样,我们可以对其进行模式匹配、构造新列表等。
推荐阅读
- mysql - 将不同的列分组为一行
- objective-c - 需要帮助尝试将 react-native-firebase 实施到我的独立博览会项目中
- python - 使用 Python 多处理库时无法获取属性错误
- angular - CouchDb GET _session 未在 Angular7 中从浏览器设置 cookie 标头
- python - 在 Python 中获取变量的字符串表示形式以在 dict 中用作键
- javascript - 如何根据javascript中的多个字段对数组进行排序
- vb.net - Visual Basic 编程组合框问题
- machine-learning - 以预定方式从 Google Colab 下载
- javascript - 在 Windows 机器上使用 VScode 运行“npm run dev”命令时出现错误 ENOENT - 4058
- leaflet - 使多个标记可拖动