Allegro Common Lispとは何? わかりやすく解説 Weblio辞書 (original) (raw)
Allegro Common Lisp
| 開発元 | Franz Inc. |
|---|---|
| 初版 | 1986年 (39年前) (1986) |
| 最新版 | 11.0 / 2024年1月9日 (21か月前) (2024-01-09) |
| 対応OS | Windows (32/64-bit), macOS, 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より組み込み[10])
- 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の先行製品)
脚注
- ^ “Strategic Computing: Invisible Infrastructure p144.”. 2021年2月24日閲覧。
- ^ “The Evolution of Lisp: 2.11 Other Stock Hardware Dialects: 1980-1984”. 2021年2月24日閲覧。
- ^ “Patterns of software (Richard P. Gabriel): Part V. Into the Ground”. 2021年2月24日閲覧。
- ^ “TEK COMMON LISP PROGRAMMING LANGUAGE”. 2021年2月24日閲覧。
- ^ https://franz.com/about/company.history.lhtml
- ^ “ACM SIGPLAN Lisp PointersDecember 1987: Programming environments: Extended Common Lisp”. 2021年2月24日閲覧。
- ^ “ACM SIGPLAN Lisp Pointers July 1988: Programming environments: The Franz Inc. Allegro CL / GNU Emacs Interface”. 2021年2月24日閲覧。
- ^ “Allegro CL 10.1”. 2021年1月26日閲覧。
- ^ “A Survey of Current CLOS MOP Implementations”. 2021年2月24日閲覧。
- ^ a b “Allegro CL 10.1: Persistency built in, not a database add-on”. 2017年7月17日閲覧。
| 表 話 編 歴 Common Lisp | |
|---|---|
| 実装 | Allegro Common Lisp Armed Bear Common Lisp (ABCL) CLISP Clozure CL CMU Common Lisp (CMUCL) Corman Lisp Eclipse Common Lisp Embeddable Common Lisp (ECL) GNU Common Lisp (GCL) HiLISP Kyoto Common Lisp (KCL) LispWorks Macintosh Common Lisp (MCL) ManKai Common Lisp (MKCL) Mocl NIL NX-LISP Poplog Scieneer Common Lisp Spice Lisp Steel Bank Common Lisp (SBCL) Tachyon Common Lisp Symbolics Common Lisp VAX LISP |
| ソフトウェア | ライブラリ Quicklisp Library Manager AllegroCache AllegroServe Another System Definition Facility (ASDF) Caveman2 CLiki Common Lisp Interface Manager (CLIM) CLSQL CL-HTTP CLX Ironclad Weblocks アプリケーション ACL2 Common Lisp Music Common Music Notation ICAD FriCAS Mirai Maxima OpenMusic StumpWM 総合開発環境 Allegro CL Clozure CL Hemlock LispWorks SLIME |
| 出版物 | Common Lisp the Language Paradigms of AI Programming The Art of the Metaobject Protocol On Lisp Practical Common Lisp Object-Oriented Programming in Common Lisp |
| 設計委員会 | X3J13 |
| 関連人物 | Scott Fahlman Richard P. Gabriel Philip Greenspun David A. Moon Kent Pitman ガイ・スティール・ジュニア Daniel Weinreb |
| その他 | Common Lisp Object System (CLOS) Common Lisp HyperSpec Greenspun's tenth rule |
| 表 話 編 歴 LISP系言語 | |
|---|---|
| 言語(処理系) | AutoLISP Clojure Common Lisp Emacs Lisp Interlisp ISLISP(英語版) LFE(英語版) LISP LISPマシン Lush Maclisp Scheme GNU Guile MIT/GNU Scheme Gauche Chicken Kawa Racket SKILL Steel Bank Common Lisp |
| 関連項目 | S式 SRFI ラムダ計算 |