`或者‘和`&;`在OCaml中

`或者‘和`&;`在OCaml中,ocaml,Ocaml,在OCaml中,中缀运算符或和&分别被定义为|和&的同义词。我喜欢第一组运算符,因为它们更容易键入,它们让我觉得我在学习与传统语言不同的东西 不幸的是,或和&在手册中都被标记为不推荐使用。我想知道 当这一切开始时 为什么会这样 如果OCaml的设计者已经为这个设计决定写了一个理由,我想知道它在哪里。谢谢你的帮助 作为旁注,以下是我的想法: 论据1|和&对以前的C程序员及其后代更友好 反论点1。OCaml在某些方面与C类似。仅在这一方面使它看起来像C是没有意义的 论据2。合取和析取的符号更为相似

在OCaml中,中缀运算符
&
分别被定义为
|
&
的同义词。我喜欢第一组运算符,因为它们更容易键入,它们让我觉得我在学习与传统语言不同的东西

不幸的是,
&
在手册中都被标记为不推荐使用。我想知道

  • 当这一切开始时
  • 为什么会这样
  • 如果OCaml的设计者已经为这个设计决定写了一个理由,我想知道它在哪里。谢谢你的帮助

    作为旁注,以下是我的想法:

    论据1
    |
    &
    对以前的C程序员及其后代更友好

    反论点1。OCaml在某些方面与C类似。仅在这一方面使它看起来像C是没有意义的

    论据2。合取和析取的符号更为相似


    反论点2。在自然语言中,我们只有一个特殊的符号-,用于连接而不是分离,几个世纪以来我们一直对此感到高兴。此外,一些逻辑教科书,包括肖恩菲尔德的《数理逻辑》,使用了完全不同的符号来表示析取和连接,即、&和∨.

    它在中被标记为已弃用


    我不知道这方面的任何设计原理,可能C的相似性是主要的驱动点。另外,
    &
    是中的关键字,这可能是不鼓励在常规OCaml中使用它们的原因之一。

    查看发行版附带的更改文件,我看到
    &
    |
    被添加到Caml Special Light 1.13中,该版本于1996年1月4日发布。大约18年前。很不幸,我不知道你的问题的答案:-)@JeffreyScofield谢谢你。在添加备选方案后不久,
    &
    是否被弃用?不幸的是,我无法在简短的搜索中找到更多信息。这里有一些OCaml老手,也许他们会记得细节。这已经有很长一段时间了。有趣的是,
    &
    首先被弃用
    在2002年被弃用。很遗憾听到使用
    &
    在OCaml方言中有不同的含义。我真的应该远离这些不推荐的操作符吗?他们会造成什么样的混乱呢?他们被弃用了,远离他们,再怎么强调也不为过。顺便说一句,在4.01中,对于不推荐使用的功能,默认情况下会出现“打开”警告。将它们视为在未来的某个版本中删除[再过10年?:)]。