在OCaml中,中缀运算符or
和&
被定义为||
和&&
的同义词。我喜欢第一组运算符,因为它们输入起来有点容易,而且让我觉得我正在学习与传统语言不同的东西。
不幸的是,手册中将or
和&
都标记为已弃用。我想知道:
- 这是从什么时候开始的,
- 为什么会这样。
如果OCaml设计者已经为此设计决策写了理由,我想知道它位于何处。谢谢您的帮助。
顺便说一下,这是我的想法:
Argument 1. ||
和&&
对C及其后代程序员更加友好。
Counter-argument 1. OCaml在很少的方面类似于C。只在这个特定方面使其看起来像C,这毫无意义。
Argument 2. 最好为连词和析词使用类似的符号。
Counter-argument 2. 在自然语言中,我们只有一个特殊符号 & 用于连词而没有用于析词的。几个世纪以来,我们对此感到满意。此外,一些逻辑教材,包括 Shoenfield 的《数理逻辑》 ,使用完全不同的符号表示析取和合取,即 & 和∨。
&&
和||
运算符是在 Caml Special Light 1.13 中添加的,该版本于1996年1月4日发布,大约18年前。很遗憾,我不知道你提出的问题的答案 :-) - Jeffrey Scofield