Компиляция в идиоматический C

Ctrl-F10: выполненный к курсору во время отладки. Взял меня возрасты для нахождения этого, и я использую все это время;

Ctrl-E, Ctrl-D: примените форматирование стандарта (который можно определить).

9
задан Steve 8 December 2009 в 17:34
поделиться

4 ответа

Для Common Lisp в настоящее время существует только один широко используемый компилятор, который компилируется в C: ECL . Вам нужно будет посмотреть, достаточно ли читабелен вывод.

Несколько лет назад компания продала компилятор Common Lisp именно для этой цели: компиляция Lisp в «поддерживаемый» C. Компилятор был очень дорогим. Он больше не доступен, но, похоже, все еще используется в одной или двух компаниях: Lisp to C .

5
ответ дан 4 December 2019 в 19:34
поделиться

Учитывая, что вы отметили этот вопрос с помощью Haskell, я дам ответ на Haskell. JHC - это компилятор Haskell, который производит довольно идиоматический ansi-C. Это оптимизирующий компилятор всей программы, который может создавать невероятно быстрые двоичные файлы. Я не уверен, насколько он стабилен на данный момент, и, похоже, есть ограничения на то, насколько большие программы он может обрабатывать. Но не верьте мне на слово, проверьте сами.

7
ответ дан 4 December 2019 в 19:34
поделиться

Я нашел только преобразователь C-> C ++ . Я не уверен, что вы сможете преобразовать большинство функциональных языков в LISP. Структура и синтаксис не очень хорошо совпадают. Я уверен, что вы можете найти много конвертеров для C ++.

0
ответ дан 4 December 2019 в 19:34
поделиться

The haskell compiler built-in compiles to C. Although IIRC it isn't that pretty looking.
(Checked, 162 lines for main = putStrLn "Hello, World!"

Edit: GHC of course.

0
ответ дан 4 December 2019 в 19:34
поделиться