Реализация схемы Windows/Lisp

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

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

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

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

Производит 64-битный код.

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


person Kranar    schedule 12.04.2009    source источник
comment
Кстати, LISP теперь называется Lisp, и это действительно семейство языков, включающее Scheme, Common Lisp, Emacs Lisp, Clojure, Logo, AutoLisp и другие.   -  person Rainer Joswig    schedule 13.04.2009


Ответы (6)


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

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

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

У Дэна Вайнреба есть обзор реализаций Common Lisp.

person Rainer Joswig    schedule 12.04.2009

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

person Charlie Martin    schedule 12.04.2009
comment
Что за книга? - person MadPhysicist; 21.12.2017
comment
Это то, о чем я думал! Я читаю это в данный момент. Не могли бы вы порекомендовать реализации Scheme, которые хорошо работают с Emacs и, возможно, с Windows? - person MadPhysicist; 22.12.2017
comment
Я немного не в курсе, так как я шепелявил либо с Common Lisp, либо с Clojure, но MIT-Scheme доступна gnu.org/software/mit-scheme и SLIME в целом хорошо подходит для Lisp. emacswiki.org/emacs/SlimeMode - person Charlie Martin; 22.12.2017
comment
Я понимаю. Да, я сам использовал Slime и Common Lisp, но хотел попробовать, так сказать, чистый функциональный lisp. - person MadPhysicist; 22.12.2017
comment
Я не думаю, что в радиусе полумили от меня есть машина с Windows, поэтому мне сложно попробовать. MIT Scheme для Mac, кажется, настаивает на использовании клона EMACS на основе X. - person Charlie Martin; 23.12.2017

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

LispWorks и Аллегро CL.

Достаточно полной, полезной и бесплатной реализацией схемы является Racket (ранее известная как схема PLT).

Вам также может подойти бесплатный Clozure CL.

person rincewind    schedule 12.04.2009

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

Этот выпуск 1.3 находится в RC1, когда я печатаю это.

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

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

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

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

person John McAleely    schedule 13.04.2009
comment
К сожалению, для этого требуется SSE2 без отката, поэтому он работает не на всех аппаратных средствах. - person Marko; 15.04.2009

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

person Marko    schedule 13.04.2009

Это отличное описание того, как установить Lisp с Emacs и Slime в Windows XP:

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

person user89021    schedule 12.04.2009