GNU Common Lisp

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
GNU Common Lisp
Тип Интерпретатор и компилятор
Разработчик Проект GNU
Написана на Си и Лисп
Операционные системы Unix-подобные операционные системы, Microsoft Windows
Последняя версия 2.6.11[1] (6 сентября 2014)
Репозиторий git.savannah.gnu.org/cgi…
Лицензия GPL
Сайт gnu.org/software/gcl/

GNU Common Lisp (GCL) — реализация языка программирования Common Lisp проекта GNU. Представляет собой интерпретатор и компилятор. Способен компилировать сам себя. Для компиляции в машинный код, он сначала генерирует текст на языке Си, а затем вызывает Си-компилятор.

Несмотря на то, что эта реализация не полностью соответствует спецификации Common Lisp, GCL использован для реализации нескольких крупных проектов, включая такие математические программы, как Maxima, Axiom и ACL2.

Эта Лисп-система старается использовать как можно меньше памяти под свой образ, так что на современных компьютерах для повышения её производительности рекомендуется настройка схемы распределения памяти по умолчанию[2].

В 1984 году Тайити Юаса (Taiichi Yuasa) и Масами Хагия (Masami Hagiya) написали первую реализацию Common Lisp — Kyoto Common Lisp.

В 1987 году Вильям Шелтер (William Schelter) написал Austin Kyoto Common Lisp, основанную на Kyoto Common Lisp.

В 1994 году реализация Austin Kyoto Common Lisp была выпущена как GNU Common Lisp на условиях лицензии GPL. На этот момент GCL был подпроектом системы комптьютерной алгебры Maxima и использовался главным образом для её создания.

В 2001 году начались активные работы по дальнейшему развитию GCL как самостоятельного проекта.

Текущая версия GCL выпущена в августе 2005 года. При этом разработка GCL все ещё продолжается в CVS репозитории.

Портируемость

[править | править код]

GCL работает на 11 различных архитектурах под Linux, а также под Microsoft Windows, Solaris и FreeBSD.

Применение

[править | править код]

GCL использовался при разработке нескольких систем компьютерной алгебры, в том числе Maxima, Axiom и ACL2.

Примечания

[править | править код]