ML语法二分法:动态与静态

时间:2014-08-12 04:07:58

标签: function syntax ml

ML语法的二分法:

  1. 我们对动态值应用函数,如:(function param_value)
  2. 我们在静态值[类型]上应用函数,如下所示: 'a list。 - 此处list是函数,'a是参数。
  3. 因此语法中的顺序是相反的。虽然我对任何订单都没问题,但是这种不一致会伤害我的眼睛。我怀疑这只是一个设计错误。你知道它的任何原因吗?


    ATS [可以被认为是下一代ML]在两个级别使用相同的顺序[1]。

1 个答案:

答案 0 :(得分:2)

据我所知,这种句法差异没有深刻的理由。在后缀表示法中编写类型应用程序有点方便,因为一元类型构造函数是常见的,并且符号允许在没有括号的情况下编写多个应用程序,如int option list,并自然地阅读(英文)。然而,在我看来,没有人太喜欢这种语法,我怀疑今天有人会再次选择它。一旦转移到依赖类型,无论如何都需要统一的语法。