我在许多受人尊敬的文件中一直看到这个相当令人尴尬的事情:_|_
或(_|_)
无法找到它的定义(Google不适用于符号)。那么究竟是什么呢?
答案 0 :(得分:11)
来自here: -
<强>底强>
底部的数学符号是'⊥'。那是Unicode字符 22A5十六进制= 8869十进制。也可以在HTML中以'⊥'和 LaTeX为'\ bot'(在数学模式下)。在纯ASCII中,它经常被写入 作为极其难看的字符序列
'_|_'
。
同样来自reserve keywords in Haskell。
检查维基以查找Bottom and Partial Functions
为了定义部分函数,我们引入一个特殊值⊥,命名为 底部和通常用打字机字体写的 | 。我们说⊥是 完全“未定义”的值或功能。每种基本数据类型 像Integer或()包含一个⊥除了它们的常用元素。
更多说明here: -
答案 1 :(得分:0)
要明确的是,_|_
不是haskell语法,而是&#34; bottom&#34;是一个对语言设计者最有用的概念。我认为可疑的是,正如上面的答案中所引用的那样:
除了常用元素外,每个基本数据类型(如Integer或())都包含一个&。&#34;
作为语言用户,我们reason fast and loose关于我们的代码,在我看来,concept的概念属于一个不同的概念层,我认为这就是你的混乱所在。
在异常和无限循环的存在下学习haskell和推理代码是完全可能的,而不需要任何类型的特殊额外居民的概念。