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.
|
---|
Реализации | |
---|
Программное обеспечение | Библиотеки | |
---|
Приложения | |
---|
Среды разработки | |
---|
|
---|
Публикации | |
---|
Design committee | |
---|
Другое | |
---|
|
---|
Характеристики | |
---|
Реализации | |
---|
Аппаратное обеспечение | |
---|
Сообщество | |
---|
|
|
---|
Низко- уровневые | |
---|
Высоко- уровневые | Amiga OS | |
---|
Mac OS и macOS | |
---|
Windows | |
---|
UNIX, под X | |
---|
Кросс- платфор- менные | На основе Flash | |
---|
На основе XML, AJAX или SVG | |
---|
На основе Java | |
---|
На основе C или C++ | |
---|
На основе Common Lisp | |
---|
На основе Pascal | |
---|
На основе Python | |
---|
На основе Objective C | |
---|
|
---|
|
---|