ML语法的二分法:
(function
param_value)
。 'a list
。 - 此处list
是函数,'a
是参数。因此语法中的顺序是相反的。虽然我对任何订单都没问题,但是这种不一致会伤害我的眼睛。我怀疑这只是一个设计错误。你知道它的任何原因吗?
ATS [可以被认为是下一代ML]在两个级别使用相同的顺序[1]。
答案 0 :(得分:2)
据我所知,这种句法差异没有深刻的理由。在后缀表示法中编写类型应用程序有点方便,因为一元类型构造函数是常见的,并且符号允许在没有括号的情况下编写多个应用程序,如int option list
,并自然地阅读(英文)。然而,在我看来,没有人太喜欢这种语法,我怀疑今天有人会再次选择它。一旦转移到依赖类型,无论如何都需要统一的语法。