LINUX.ORG.RU

scheme48 вопрос по реализации


0

0

Какая часть его написана на C? Думал что он полностью на ским, посмотрел исходники и оказалось что довольно приличная часть написана на C :( Почему? Есть ли имплементации на чистом скиме?

anonymous

> Почему?

Чтобы можно было собрать на любой платформе с ANSI C.

> Есть ли имплементации на чистом скиме?

Ага - eval. Если серьезно, MIT Scheme написана на чистом scheme: они отдельно поставляют portable compiler, написанный на C, который сам уже собирает MIT Scheme.

grob ★★★★★
()
Ответ на: комментарий от grob

> Чтобы можно было собрать на любой платформе с ANSI C.

Т. е. Си используется только при сборке?

anonymous
()

Gambit-C. Ну может не полностью, но большая часть. Поскольку он компилит в С, то в сырцовом дистрибутиве сгенерированые файлы на С. Gcc у меня чуть с ума не сошел, когда компилировал файлы в несколько мегабайт каждый.

Macil ★★★★★
()

Не совсем так. AFAIK, ссновная часть -- здоровенный (>500К) файл scheme48vm.c, который на самом деле генерируется из исходников на так называемой pre-scheme.

То, что этот файл идёт в дистрибуции, нужно чисто для удобства бутстрапа.

Vadim_Z
()
Ответ на: комментарий от Vadim_Z

Ах да, помимо генерируемой vm, в дистрибуции есть еще и (бинарный) образ в байткоде для бутстрапа самого компилятора s48.

Итого, в scheme 48 на C написаны только куски рантайма и не более.

Vadim_Z
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.