История изменений
Исправление hateyoufeel, (текущая версия) :
Хм, вот что странно, пока не нашёл ни одного (кроме «новомодного V»), который бы легко с этим самым си «интеропился»: влёт подчитывал бы сишные файлы и т.д. Работающие поверх LLVM есть, транслирующие в си - пока нашёл только этот самый V.
Ну возьми тот же Haskell, который умеет подключать сишные хидеры в FFI и легко позволяет делать биндинги в сишным библиотекам среди прочего. Плюс GHC умеет выдавать сишный код, только это очень редко кому надо.
Просто штука в том, что до появления LLVM выдача сишного кода была наиболее простым способом сделать бэкенд компилятора твоего языка, поэтому очень многие так делали. Потом появился LLVM, язык которого гораздо лучше подходит в качестве промежуточного, и многие перелезли на него.
P.S. я пропустил тот момент, когда генератор сишного кода выкинули из GHC. Смотри старые версии компилятора, если тебе интересно.
Исходная версия hateyoufeel, :
Хм, вот что странно, пока не нашёл ни одного (кроме «новомодного V»), который бы легко с этим самым си «интеропился»: влёт подчитывал бы сишные файлы и т.д. Работающие поверх LLVM есть, транслирующие в си - пока нашёл только этот самый V.
Ну возьми тот же Haskell, который умеет подключать сишные хидеры в FFI и легко позволяет делать биндинги в сишным библиотекам среди прочего. Плюс GHC умеет выдавать сишный код, только это очень редко кому надо.
Просто штука в том, что до появления LLVM выдача сишного кода была наиболее простым способом сделать бэкенд компилятора твоего языка, поэтому очень многие так делали. Потом появился LLVM, язык которого гораздо лучше подходит в качестве промежуточного, и многие перелезли на него.