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

Function ML语法二分法:动态与静态,function,syntax,ml,Function,Syntax,Ml,ML语法中的二分法: 我们对动态值应用函数,如下所示:(函数 参数值) 我们对静态值[类型]应用函数,如下所示: “列表”这里的list是函数,'a是参数 因此,语法中的顺序颠倒了。虽然我可以接受任何一个命令,但这种不一致性伤害了我的眼睛。我怀疑这只是一个设计错误。你知道原因吗 ATS[可以被认为是下一代ML]在两个级别上使用相同的顺序[1]。据我所知,这种语法差异没有深层次的原因。用后缀表示法编写类型应用程序有点方便,因为一元类型构造函数很常见,而且这种表示法允许在不使用括号的情况下编写多个

ML语法中的二分法:

  • 我们对动态值应用函数,如下所示:
    (函数
    参数值)
  • 我们对静态值[类型]应用函数,如下所示:
    “列表
    ”这里的
    list
    是函数,
    'a
    是参数
  • 因此,语法中的顺序颠倒了。虽然我可以接受任何一个命令,但这种不一致性伤害了我的眼睛。我怀疑这只是一个设计错误。你知道原因吗



    ATS[可以被认为是下一代ML]在两个级别上使用相同的顺序[1]。据我所知,这种语法差异没有深层次的原因。用后缀表示法编写类型应用程序有点方便,因为一元类型构造函数很常见,而且这种表示法允许在不使用括号的情况下编写多个应用程序,如
    int option list
    ,并且可以自然读取(英语)。然而,在我看来,似乎没有人太喜欢这种语法,我怀疑今天还会有人选择它。一旦转移到依赖类型,就需要统一的语法