Allegro Common Lisp

Allegro Common Lisp
開発元 Franz Inc.
初版 1986年 (38年前) (1986)
最新版
11.0 / 2024年1月9日 (9か月前) (2024-01-09)
対応OS Windows (32/64-bit), macOS (Intel, 32/64-bit), Linux (32/64-bit), FreeBSD (32-bit), Solaris (x64, SPARC; 32/64-bit), UNICOS, UTS
プラットフォーム IA-32, x86-64, ARM, 68000, SPARC, X-MP,
対応言語 Lisp, Common Lisp
種別 コンパイラおよびインタプリタ
公式サイト franz.com/products/allegro-common-lisp
テンプレートを表示

Allegro Common Lispは、米Franz社によるCommon Lispの処理系、及び統合開発環境(IDE)である。

ANSI Common Lisp規格に準拠した代表的な商用の処理系のひとつで、豊富な付属ライブラリと、多機能な開発環境、高性能なネイティブコードコンパイラを備える。

歴史

[編集]

1980年代中盤の米国Lisp市場は、Lispマシンを代表とするLisp向けハードウェアの専用マシンから汎用プロセッサによるワークステーションへと需要が切り替わりつつあったが[1]、Franz社は、汎用機であるVAX上で稼動するFranz Lispでシェアを伸ばしていた[2]。 1984年のCommon Lisp仕様の発表とほぼ同時期に、新興企業であるLucid社がワークステーション上のLisp環境として自社のLucid Common Lisp処理系をワークステーションのメーカーへOEM提供する戦略を取り、主要なワークステーションのメーカーのほぼ全てがLucid社のCommon Lispを採用するという事態になった[3]。 Franz社は事態を重く捉え自社のCommon Lispを新規に開発することを決定し、OEM先としてTektronixから契約を取り付け、1986年にTektronix 4400シリーズ用のCommon Lisp環境[4]として、Tek Common Lispがリリースされた[5]

その後、Franz社は、Common Lisp処理系の稼動プラットフォームを拡大し、Extended Common Lisp (ExCL) という名称で販売した[6]が、バージョン3.0からAllegro Common Lispと名称を変更した[7]

以降も、先進的な機能をCommon Lisp処理系に取り入れ、代表的な商用Common Lisp処理系として開発と提供が続いている[8]

特徴

[編集]
  • 高水準のMOPサポート(AMOP仕様をフルサポート[9])
  • ネイティブスレッドとSMPマルチプロセッシング
  • Unicodeサポート
  • 他言語インターフェイス(C、Java)
  • Common Lisp処理系と統合されたオブジェクトの永続化システム(AllegroCache)(10.1より組み込み機能[10])
  • Common Graphicsを基盤とした、マルチプラットフォームのルック・アンド・フィールGUIの実現
  • 単体実行ファイル、シェアードライブラリ生成機能と、不要機能削除機能(ツリー・シェーカー)

アドオン

[編集]
  • AllegroCache (10.1より組み込み[11])
  • AllegroServe
  • Allegro Prolog
  • ELI (The Emacs-Lisp Interface)
  • Flavors
  • Allegro CL Runtime
  • Allegro CLIM (CLIM 2.0)
  • Allegro Composer (旧IDE)
  • Allegro ODBC
  • Allegro Presto (7.0以降サポートなし)
  • DDE (Windows)
  • OLE (Windows)
  • jLinker
  • Allegro Webactions
  • AllegroStore (AllegroCacheの先行製品)

脚注

[編集]
  1. ^ Strategic Computing: Invisible Infrastructure p144.”. 2021年2月24日閲覧。
  2. ^ The Evolution of Lisp: 2.11 Other Stock Hardware Dialects: 1980-1984”. 2021年2月24日閲覧。
  3. ^ Patterns of software (Richard P. Gabriel): Part V. Into the Ground”. 2021年2月24日閲覧。
  4. ^ TEK COMMON LISP PROGRAMMING LANGUAGE”. 2021年2月24日閲覧。
  5. ^ https://franz.com/about/company.history.lhtml
  6. ^ ACM SIGPLAN Lisp PointersDecember 1987: Programming environments: Extended Common Lisp”. 2021年2月24日閲覧。
  7. ^ ACM SIGPLAN Lisp Pointers July 1988: Programming environments: The Franz Inc. Allegro CL / GNU Emacs Interface”. 2021年2月24日閲覧。
  8. ^ Allegro CL 10.1”. 2021年1月26日閲覧。
  9. ^ A Survey of Current CLOS MOP Implementations”. 2021年2月24日閲覧。
  10. ^ Allegro CL 10.1: Persistency built in, not a database add-on”. 2017年7月17日閲覧。
  11. ^ Allegro CL 10.1: Persistency built in, not a database add-on”. 2017年7月17日閲覧。