Я пытаюсь узнать больше о проверке типов в целых программах и системах вывода типов, которые используют информацию с сайтов вызова функций для вычисления информации о типах (в дополнение к стандартному подходу использования тела функции). Например, такой алгоритм может использовать вызов функции, например, foo(1)
чтобы сделать вывод, что функция foo
принимает целочисленные аргументы. Очевидно, это сильно усложнит вывод и сделает проверку немодулярной.
В любом случае, мне не повезло найти какое-либо исследование этого подхода, возможно, потому что я не знаю правильной терминологии, чтобы описать то, о чем я говорю. Есть указатели?