某些语言(例如Python)支持关键字参数:
def foo(a: int, b: int, c: int):
return a + 2*b + 3*c
foo(a=1, c=2, b=3)
Python和mypy一起被认为是静态类型的语言。但是,foo
的类型为Function[[int, int, int], int]
,其中不包含有关关键字参数的任何信息。给定具有该类型的值,就没有使用关键字参数来调用它的类型安全的方法。
是否有任何静态类型的语言支持一流的函数和关键字参数,并且具有足以处理关键字参数的函数类型?