GNU Common Lisp

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

GNU Common Lisp
Тип Интерпретатор и компилятор
Разработчик Проект GNU
Написана на Си и Лисп
Операционная система Unix-подобные операционные системы, Microsoft Windows
Последняя версия 2.6.12[1] (28 октября 2014)
Лицензия GPL
Сайт gnu.org/software/gcl/

Несмотря на то, что эта реализация не полностью соответствует спецификации 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 выпущена в октябре 2014 года. При этом разработка GCL все ещё продолжается в CVS репозитории.

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

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

Применение

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

Примечания

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.