Существуют ли достаточно зрелые компиляторы Lisp / Scheme / Clojure для .Net CLR? - PullRequest
20 голосов
/ 14 декабря 2010

Я вижу несколько вариантов там; ClojureCLR, LSharp, IronScheme, IronLisp и другие. Являются ли какие-либо из них активно поддерживаемыми и / или где-либо близкими к "зрелым", или они в основном являются экспериментами или собирателями пыли? Что будет считаться наиболее зрелой платформой для компиляции в .Net DLL и ссылки на другие .Net DLL, если таковые имеются? Хорошо ли интегрируется с Visual Studio хотя бы функция «Создать проект Lisp»?

Ответы [ 4 ]

14 голосов
/ 15 декабря 2010

IronLisp мертв и заменен IronScheme, который, в свою очередь, все еще бета.

L Sharp и ClojureCLR похожи и следуют той же идее современного Lisp для CLR (в отличие от IronScheme, который пытается просто реализовать стандарт R6RS на новой платформе). ClojureCLR кажется более популярным, чем L Sharp, и сообщество Clojure в Java быстро растет, поэтому вы можете использовать многие из его библиотек в своем .NET-приложении.

Я знаю, что для ClojureCLR есть плагин VS2010 .

Полагаю, ClojureCLR сейчас наиболее интенсивно развивается, поэтому я бы сделал ставку на это. С другой стороны, Clojure (и, следовательно, ClojureCLR) все еще изменяется, и его будущие версии могут сильно отличаться от текущего состояния, что не очень хорошо для долгосрочного производственного проекта. С этой точки зрения IronScheme, который реализует старый проверенный R6RS, является более предпочтительным. Я не могу сказать много L #, но я думаю, что это где-то между ClojureCLR и IronScheme.

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

0 голосов
/ 23 декабря 2010

Если вам просто нужно вызвать .NET из Lisp, и вам не нужно создавать DLL, 1 , RDNZL могут работать для вас.

1 Я не говорю, что вы не можете создавать библиотеки DLL с RDNZL и вашей реализацией на Лиспе, у меня просто нет причин пытаться это сделать.

0 голосов
/ 16 декабря 2010

Не забудьте Bigloo , который является известным компилятором Scheme для C и Java VM, и недавно добавил экспериментальный компилятор байт-кода .NET.

0 голосов
/ 15 декабря 2010

Существует один (нестандартный) компилятор Lisp для .NET с акцентом на совместимость .NET:

http://www.meta -alternative.net / mbase.html

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

...