【问题标题】:`or` and `&` in OCamlOCaml 中的 `or` 和 `&`
【发布时间】:2014-03-19 01:02:00
【问题描述】:

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

不幸的是,or& 在手册中都被标记为已弃用。我想知道

  1. 何时开始,以及
  2. 为什么会这样。

如果 OCaml 的设计者为此设计决定写了理由,我想知道它的位置。感谢您的帮助。

作为旁注,这是我的想法:

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

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

论据 2。对于合取和析取,最好有相似的符号。

反论点 2。在自然语言中,我们只有一个特殊的符号 &,表示合取而不是析取,几个世纪以来我们都对此感到满意。此外,一些逻辑教科书,包括 Shoenfield 的 Mathematical Logic,使用完全不同的符号来表示析取和合取,即 & 和∨。

【问题讨论】:

  • 查看发行版附带的 Changes 文件,我看到 &&|| 是在 1996 年 1 月 4 日发布的 Caml Special Light 1.13 中添加的。所以大约 18 年前。不幸的是,我不知道你的问题的答案:-)
  • @JeffreyScofield 谢谢。在添加替代品后不久,&or 是否已被弃用?
  • 不幸的是,我在简短的搜索中无法挖掘更多信息。这里有一些 OCaml 的老手,也许他们会记住细节。已经很久了了。

标签: ocaml


【解决方案1】:

它在2001 中被标记为已弃用。

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

【讨论】:

  • 有趣的是&首先被弃用了; or 在 2002 年被弃用。
  • 听到 &or 在 OCaml 的方言中具有不同的含义,这很难过。我真的应该远离这些已弃用的运营商吗?它们会造成什么混乱?
  • 它们已被弃用,远离它们,不能再强调它了。顺便说一句,对于 4.01 中已弃用的功能,默认情况下会发出警告。将它们视为将在未来的某个版本中删除[再过 10 年? :) ].
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2017-03-05
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
  • 2012-12-31
相关资源
最近更新 更多