Платформа компилятора, написанная на C ++ для динамических и функциональных языков высшего порядка - PullRequest
0 голосов
/ 05 апреля 2011

Существует множество платформ компиляторов, которые могут помочь в реализации серверной части для языка (например, LLVM). Однако, похоже, что не хватает «средних», написанных на C ++, которые могут представлять собой динамические функциональные языки высшего порядка. Фреймворк должен выполнять общие функции, такие как лямбда-лифтинг, преобразование замыканий, вывод типов и т. Д., И помогать в преобразованиях, специфичных для других языков, таких как, например, перевод классов типов и т. Д. Некоторые кандидаты, о которых я могу думать, это PyPy и Clean . Это компиляторы для динамических, функциональных языков высшего порядка. Возможно, к ним можно подключить внешний интерфейс для любого языка и повторно использовать имеющиеся в них структуры данных и преобразования для выполнения работы среднего уровня. Однако они реализованы в Python и Clean соответственно. Существуют ли фреймворки, реализованные в C ++ для вышеуказанной цели?

1 Ответ

0 голосов
/ 24 февраля 2013

Однако, похоже, что не хватает «средних», написанных на C ++, которые могут представлять собой динамические, функциональные языки высшего порядка. Фреймворк должен выполнять общие функции, такие как лямбда-поднятие, преобразование замыканий, вывод типов и т. Д., И помогать в преобразованиях, специфичных для других языков, таких как, например, перевод классов типов и т. Д.

Было бы очень странно выбрать средний конец компилятора - который по сути является механизмом символьных манипуляций и преобразования алгебраических типов данных - на языке без сопоставления с образцом конструктора или алгебраических типов данных.

Компиляторы для функциональных языков / всегда / написаны на функциональных языках. Обычно типизированные. Языки просто намного лучше подходят для этой задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...