Проект pyLisp-NG является непосредственным потомком PyLisp, который имел ее случайное рождение в результате желания Уильяма Эннис ', чтобы построить синтаксис клипы, как для простого экспертной системы, предназначенной для инструмента мониторинга & NBSP;. В Результат Lisp процентов по группе новостей Python, Уильям выпустил программное обеспечение и объявил его в группу.
Несколько лет спустя, проекты Evolver и txEvolver необходимости реализацию языка программирования Python функционала в, а проверки AST Питона было слишком много хлопот. Автор хотел распространять, обрабатывать и управлять эволюционные алгоритмы / программ на нескольких серверах удаленного Twisted и манипулирования перестановки в частных программ было гораздо легче интегрироваться с Twisted, если сами программы могут быть оценены и интроспекции легко с Python.
pyLisp-NG наследует особенные charaateristics PyLisp в. Например, логические являются истинным и ложным, и это не следовать соглашению, что все, что не является ложным верно (общий для многих Лиспах). На самом деле, все логические в pyLisp-NG основаны на нечеткой логике, так что вы можете сделать сложнее вещи. Макросы, довольно странно, объекты первого класса в PyLisp которые, может быть, роман Лиспах:
Lisp> (SETQ Foo 22)
22
Lisp> ((макро (х) `(SETQ, х (+ 1 х))) Foo)
23
pyLisp-NG, как и его предшественник, не имеет намерения becomming полноценную, надежную реализацию Lisp. Весь прогресс определяется только интерес содействия разработчикам; Прямо сейчас, это строго для использования в качестве инструмента генетического программирования.
<Сильный> Установка
pyLisp-NG является Setuptools людей; Вы можете установить его с следующее:
& NBSP; $ easy_install pyLisp-Н.Г.
Вы также можете получить полный исходный код из Launchpad:
& NBSP; $ BZR LP: pylisp-нг
Последний вариант очень вдохновляет заинтересованных пользователей, а хранилище содержит дополнительные файлы, которые не включены в ditribution тарболов (например, тест-бегун и испытаний утилит).
<Сильный> Применение:
Для использования interpretter от полной проверки, выполните следующие действия:
& NBSP; $ кд <Отраслевой каталог> $ ./bin/pylisp-ng
Если вы установили с easy_install, и ваш каталог сценариев Python в вашем PATH, все, что вам нужно сделать, это:
& NBSP; $ pylisp-нг
На данный момент, вы сможете вводить выражения Lisp:
Lisp> ((лямбда (х) (* х х)) 2)
4
Lisp>
Вы можете использовать код S-выражения из Python:
>>> От импорта pylispng Lisp
>>> L = lisp.SExpression ('((лямбда (х) (* хх)) 2) ")
>>> Ул (л)
'((Лямбда (х) (* х х)) 2) "
>>> L.eval ()
4
Построение экспрессирующего один символ за один раз, либо путем добавления куски в то время:
>>> L = lisp.SExpression ()
>>> L.append ("+")
>>> l.append ('3')
>>> l.append ('5')
>>> L.append ('(* 3 3) ")
>>> Ул (л)
"(+ 3 5 (* 3 3))"
Вы можете изучить различные свойства S-выражения:
>>> L.eval ()
17
>>> L.getDepth ()
2
>>> LEN (л)
4
>>> L.getSize ()
2
Особенности:
- крошечные диалект Lisp, легко интегрировать в другие проекты Python.
- Включает интерактивный интерпретатор Lisp.
- самоанализ Выражение специально разработаны для использования в генетическом программировании.
Что нового в этой версии:
- Добавлен код самоанализ, что полезно для генетического программирования.
- Пара небольших исправлений и некоторый код очистки.
Требования:
- Python
Комментарии не найдены