Реализация схемы Windows / Lisp - PullRequest
15 голосов
/ 13 апреля 2009

Из-за тысяч доступных реализаций LISP и Scheme мне очень трудно найти подходящее решение для разработки Windows. Я выучил эти языки в школе и обнаружил, что они очень элегантны, однако я не могу найти реализацию, которая бы подходила для разработки кода, отличного от академических.

Что такое реализация схемы или LISP со следующими требованиями?

Компилируется в собственный код, а не компилируется в C.

Поддерживает многопоточность на нескольких процессорах (т. Е. Одновременно могут работать несколько потоков).

Создает 64-битный код.

Может использоваться в Windows без Cygwin.

Ответы [ 6 ]

12 голосов
/ 13 апреля 2009

Корман Лисп может быть интересным, но не поддерживает 64-битный код (AFAIK).

Clozure CL просто портируется на Windows, поэтому он, вероятно, не очень зрелый и в нем отсутствуют некоторые вещи.

LispWorks и Allegro CL великолепны, хотя они не поддерживают несколько параллельных потоков Lisp. В настоящее время LispWorks 6 находится в стадии разработки, которая будет поддерживать несколько параллельных потоков Lisp. Обратите внимание, что, например, в настоящее время LispWorks может одновременно запускать один поток Lisp, но несколько внешних потоков.

Дэн Вайнреб провел опрос реализаций Common Lisp .

4 голосов
/ 13 апреля 2009

Я очень люблю Клозуре. Схема MIT будет работать под Windows, и это хороший выбор для начинающих, поскольку она лучше всего подходит для The Book.

4 голосов
/ 13 апреля 2009

Крупные коммерческие реализации Common Lisp должны соответствовать всем вашим критериям:

LispWorks и Allegro CL .

Довольно полной, удобной и бесплатной реализацией Схемы является Ракетка (ранее известная как Схема PLT).

Бесплатный Clozure CL также может удовлетворить ваши потребности.

2 голосов
/ 13 апреля 2009

Clozure CL переносится для версии 1.3 на 32- и 64-битные окна.

Эта версия 1.3 находится на RC1, когда я набираю это.

Существует прилагаемый пример, который использует вызовы Win32 API через FFI для отображения традиционного окна Win32, с циклом сообщений и т. Д.

Веб-сервер Hunchentoot работает с текущими сборками.

Он поддерживает Unicode, поэтому взаимодействие с Win32 AP 'W' должно быть простым.

Он компилируется в собственный код, поддерживает собственные потоки и не требует Cygwin.

1 голос
/ 13 апреля 2009

Кажется, что ECL отсутствует. Это действительно хорошая реализация CL, которая работает на Windows, Linux и Mac, поддерживает собственные потоки на всех платформах и позволяет создавать двоичные файлы.

0 голосов
/ 13 апреля 2009

Это превосходное описание, как установить Lisp с Emacs и Slime в Windows XP:

http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/

...