Есть ли поддержка вариадных функций в ATS?
Вероятно, самая известная переменная функция printf
в C, который может принимать переменное количество аргументов. Есть ли способ присвоить тип printf
в САР? В общем, можно ли типизировать функции вариации в ATS?
1 ответ
Некоторая работа была проделана для достижения этого во время выпуска ATS2 0.3.8. Простой пример типизированной переменной функции в ATS находится здесь.
Подражая этому примеру, да, можно иметь типизированные функции с переменными координатами в ATS. Однако в настоящее время представляется, что распаковка списка переменных аргументов в самом коде ATS невозможна. В приведенном выше примере мы используем встроенный код C, чтобы обойти это ограничение.