Статически типизированные языки с типами функций, поддерживающими аргументы ключевых слов? - PullRequest
0 голосов
/ 19 февраля 2019

Некоторые языки, такие как 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], который не содержит никакой информации об аргументах ключевых слов.Учитывая значение с этим типом, не существует безопасного типа для его вызова с аргументами ключевых слов.

Существуют ли языки со статическим типом, которые поддерживают первоклассные функции и аргументы ключевых слов, и которые имеют достаточно богатые типы функцийобрабатывать аргументы ключевых слов?

...