我一直在许多受人尊敬的文件中看到这个相当尴尬的事情:_|_
或者(_|_)
找不到它的定义(谷歌不能很好地处理符号)。那么它到底是什么?
从这里:-
底部
底部的数学符号是“⊥”。那是 Unicode 字符 22A5 十六进制 = 8869 十进制。也可以在 HTML 中作为 '⊥' 使用,在 LaTeX 中作为 '\bot' 使用(在数学模式下)。在纯 ASCII 中,它通常被写成极其丑陋的字符序列
'_|_'
。
同样来自Haskell 中的保留关键字。
检查 wiki 的底部和部分功能
为了定义偏函数,我们引入一个特殊值⊥,命名为bottom,通常写成| 在打字机字体。我们说 ⊥ 是完全“未定义”的值或函数。每种基本数据类型,如 Integer 或 (),除了它们通常的元素外,还包含一个 ⊥。
此处给出了更多描述:-
需要明确的_|_
是,这不是 haskell 语法,“底部”是一个对语言设计者最有用的概念。正如上面的答案所引用的,我认为这样说是可疑的:
每种基本数据类型,例如 Integer 或 (),除了通常的元素外,还包含一个 ⊥。”
作为语言用户,我们对我们的代码进行快速和松散的推理,在我看来,⊥ 的概念属于不同的概念平面,我认为这就是你的困惑所在。
在存在异常和无限循环的情况下,学习haskell 和推理代码是完全可能的,而不需要每种类型的特殊额外居民的概念。