Подтвердить что ты не робот

Какой лучший интерпретатор или компилятор Scheme?

Привет всем, я хочу начать использовать Схему, и у меня есть два вопроса. Во-первых, вы бы рекомендовали использовать интерпретатор или компилятор для Схемы и почему? Во-вторых, какой интерпретатор или компилятор для Схемы вы бы порекомендовали и почему? Спасибо!

4b9b3361

Ответ 1

Для новичков я настоятельно рекомендую DrRacket (ранее Dr. Scheme), поскольку он дает вам действительно приятную среду для работы, поддерживает множество диалектов Схемы и дает очень хорошую информацию об отказе и отладке. Я считаю, что большинство реализаций Схемы являются интерпретаторами, хотя возможно, что там есть компилятор.

Если вы такой наркоман из командной строки, как я, альтернативой, которую вы можете рассмотреть, является непосредственный запуск интерпретатора racket, который по существу является то же самое, что и Dr. Racket, но без графической среды и интерфейса командной строки. Или запустите исходный файл с помощью #! /usr/bin/env racket и сделайте его выполнимым с помощью chmod +x source.rkt.

Ответ 2

Я знаю, что вы уже приняли ответ, но для будущих посетителей этого вопроса я рекомендую Chicken Scheme. Он имеет тенденцию производить гораздо меньшие исполняемые файлы, чем mzscheme. Возьмите следующее приветственное приложение, например:

(define (say-hello name)
  (print (string-append "Hello, " name))
  (newline))

(say-hello "Earthling")

Скомпилировано с помощью mzc --exec mztest hello.scm: 3.3M

Скомпилировано csc hello.scm -o ctest: 16k

И если вы после поддержки библиотеки, Chicken предоставляет Eggs Unlimited, который похож на PlaneT для mzscheme (или драгоценных камней для ruby).

Ответ 3

Я бы рекомендовал схему Gambit-C:

  • Это R5RS-совместимый.
  • В нем есть как интерпретатор, так и компилятор. Вы также можете скомпилировать ANSI C.
  • Он с открытым исходным кодом.
  • Это портативный. (Он работает на Linux, Windows, Mac OS X и даже на iOS.)
  • Он имеет простые интерфейсы внешних функций (FFI).

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

Ответ 4

Я бы рекомендовал не беспокоиться о том, реализован ли он как компилятор, интерпретатор или их комбинация - особенно для начала, качество файлов справки (на одном примере) будет иметь значение гораздо больше, чем то, как оно реализовано.

Насколько это возможно, Схема PLT - это то, что я использую (безусловно) чаще всего.

Ответ 5

Схема PTL была переименована в Racket (http://racket-lang.org/), но она по-прежнему почти такая же. Dr. Racket - очень изящная среда разработки с оболочкой, и для написания на Схеме все, что вам нужно, это #lang scheme в верхней части файла.