Allegro Common Lisp

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Allegro Common Lisp
Тип интегрированная среда разработки
Разработчик Franz Inc.
Операционная система кроссплатформенное ПО
Последняя версия
  • 10.1
Лицензия Franz Software License Agreement [1]
Сайт franz.com/products/alleg…

Allegro Common Lisp — коммерческая реализация языка программирования Common Lisp, разрабатываемая компанией Franz Inc. В состав Allegro Common Lisp входит также кроссплатформенная интегрированная среда разработки и отладчик[2] . Allegro Common Lisp включает всю функциональность ANSI Common Lisp, а также некоторые расширения, такие как OpenGL интерфейс, ветвление, CLOS-потоки, CLOS MOP, юникод, SSL-потоки и реализацию некоторых TCP протоколов.

Происхождение

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

Американская компания Franz Inc, производитель системы Allegro Common Lisp, была основана в 1984 году сотрудниками ИТ-департамента из Калифорнийского университета. Целью её создания первоначально было предоставление коммерческой поддержки для Lisp-системы Franz Lisp, созданной в конце 1970-х — начале 1980-х совместными усилиями ИТ-лабораторий нескольких университетов США и распространявшейся под лицензией BSD. Компания портировала Franz Lisp на несколько новых платформ (Motorola 68000, SUN).

Когда в 1985 году был завершён процесс стандартизации языка Lisp и опубликован стандарт, получивший имя Common Lisp, в течение нескольких лет произошла переориентация большинства американских пользователей на новый стандарт. В этих условиях Franz Inc не смогла найти заказов и, чтобы избежать закрытия, была вынуждена приступить к разработке собственной реализации Common Lisp, которой было дано имя Allegro. Таким образом, Allegro Common Lisp (или «Allegro CL», как он сокращённо именуется на сайте производителя) развивается уже три десятилетия. Последняя на текущий момент версия 10.1 выпущена 15 февраля 2017 года.

Многоплатформенность

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

Allegro Common Lisp 10.1 функционирует на платформах:

Платформа Поддержка SMP
64-bit Linux (ARMv8) glibc 2.17 ДА
32-bit Linux (x86) glibc 2.12 ДА
64-bit Linux (x64) glibc 2.12 ДА
32-bit macOS 10.11 НЕТ
64-bit macOS 10.11 ДА
32-bit Windows ДА
64-bit Windows ДА
32-bit FreeBSD (x86) НЕТ
64-bit Solaris/AMD НЕТ
32-bit Solaris/SPARC НЕТ
64-bit Solaris/SPARC НЕТ

Состав, варианты

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

В состав поставляемой системы входят базовые компоненты:

  • Компилятор и интерпретатор Common Lisp с набором стандартных библиотек.
  • Необходимый набор скриптов и инструкций для настройки среды разработки на базе SLIME (CL + Emacs).
  • Объектная СУБД AllegroCache, написанная на том же Lisp, поддерживающая прозрачное хранение, размещение и поиск Lisp-объектов. В некоторых поставляемых редакциях функциональность AllegroCache ограничена (см. ниже).
  • Документация.

Система поставляется в нескольких различных редакциях, отличающихся составом библиотек и инструментария.

  • Free Express Edition (бесплатная редакция) — включает в себя только базовый набор компонентов и только в 32-разрядном варианте. AllegroCache поставляется в функционально ограниченном варианте. Отсутствует IDE, предполагается использование в качестве среды разработки SLIME. Редакция предназначена для обучения и некоммерческого использования.
  • Professional Edition (профессиональная редакция) — включает базовый набор компонентов в 32-разрядном варианте и AllegroCachе версии Pro (с незначительными ограничениями функционала), а также дополнительно:
  • набор библиотек и инструментов для работы с XML;
  • SOAP API и компилятор WSDL;
  • Allegro Webactions — фреймворк для создания веб-сайтов с динамической поддержкой на основе CommonLisp;
  • Allegro Prolog — встраиваемый интерпретатор сокращённой версии языка Пролог;
  • API для регулярных выражений, OpenGL, IPV6, SSH, SHA1, HMAC, RC4, SSL;
  • Java Tools Suite — набор инструментария и библиотек для взаимодействия с Java;
  • AllegroServe — веб-сервер, написанный на Lisp и поддерживающий динамические Lisp-страницы;
  • оригинальная IDE для Common Lisp с графическим дизайнером интерфейса для оконных приложений;
  • Allegro Composer — интерактивный инструмент для разработки и отладки под Linux/Unix.
  • Enterprise 32 Edition (для разработки и развёртывания 32-битных приложений). Включает весь набор компонент Professional Edition, а также дополнительно:
  • AllegroCache — версию без ограничений;
  • Allegro ODBC — доступ к РСУБД через протокол ODBC;
  • Allegro MySQL Direct Connect — компоненты для высокопроизводительного прямого доступа к СУБД MySQL;
  • Allegro Runtime — компоненты для развёртывания динамических приложений.
  • Enterprise 64 Edition (для разработки и развёртывания 64-битных приложений) — включает тот же набор, что и Enterprise 32 Edition, но с компонентами и библиотеками в 64-битном варианте.
  • Enterprise 64 Platinum Edition (для разработки и развёртывания 64-битных приложений в распределённых системах). Включает набор Enterprise 64 Edition и дополнительно:
  • Allegro CLIM — графический построитель интерфейсов;
  • Allegro ORBLink — реализация брокера CORBA для Lisp;
  • Allegro Oracle Direct Connect — компоненты для прямого высокопроизводительного доступа к СУБД Oracle.

Примечания

[править | править код]
  1. Franz Inc. Franz Software License Agreement (англ.) (pdf). Дата обращения: 14 марта 2010. Архивировано из оригинала 11 апреля 2012 года.
  2. Franz Inc Integrated Development Environments. Дата обращения: 14 марта 2010. Архивировано 18 февраля 2010 года.