语言设计:使用‘ident:type’而不是‘Type ident’

2020-05-02 18:06:33

在表现型语言中,开发人员通常需要使用较少的临时变量,这意味着在典型的代码中定义的名称较少,但这些名称具有更高的重要性。

ident:type语法让开发人员将重点放在名称上,将其放在其类型注释之前。这意味着名称的垂直偏移量保持一致,无论是否存在类型批注(以及其长度有多长)1:

val x:string=";hello";val y:Float=23.42 val z=11//vs(假设语法)string x=";hello";Float y=23.42 var z=11。

int语法自然会导致方法语法,其中输入(参数)在输出(结果类型)之前定义,这反过来又导致与lambda语法更一致(其输入也在其输出之前定义)。

类或方法的定义方式应该反映它的使用方式。(有关泛型,请参阅停止使用<;>;。)。

泛型类型参数应该在使用之前声明。否则很难判断类型参数引用的是什么:

类ID<;T&>;(){//结果类型T是引用作用域中的类,//还是引用它后面的方法?T id<;T>;(T X){.}}。

由于语言已经探索了各种设计2,我们可以检查它们是否满足上面提到的后三个属性:

类型推断意味着编译器可以计算出类型,而不需要开发人员在↩中显式地将它们写下来。

这里关注的是花括号语言,因为像Haskell、ML和OCaml这样的语言,IDRIS的设计优化与↩略有不同