Allegro Common Lisp

Allegro [Common Lisp]]は、米国のFranz社が開発・販売しているCommon Lisp処理系および統合開発環境]です。ANSI [[Common Lisp規格に準拠した代表的な商用処理系の一つであり、豊富な付属ライブラリ、多機能な開発環境、高性能なネイティブコードコンパイラを備えていることが特徴です。

歴史


1980年代中盤、Lisp市場はLispマシンなどの専用ハードウェアから汎用プロセッサによるワークステーションへと移行が進んでいました。当時、Franz社は汎用機VAX上で動作するFranz Lispで市場でのシェアを拡大していました。

1984年にCommon Lispの仕様が発表されると、新興企業のLucid社がワークステーション向けのLisp環境として自社のLucid Common Lisp処理系をメーカーにOEM提供する戦略を取りました。これにより、主要なワークステーションメーカーのほぼ全てがLucid社のCommon Lispを採用するという状況になりました。

この事態を重く見たFranz社は、自社でCommon Lisp処理系を開発することを決定しました。そして、OEM先としてTektronixとの契約を獲得し、1986年にTektronix 4400シリーズ向けのCommon Lisp環境としてTek Common Lispがリリースされました。

その後、Franz社はCommon Lisp処理系の対応プラットフォームを拡大し、Extended Common Lisp (ExCL) という名称で販売を開始しました。そして、バージョン3.0からは名称をAllegro Common Lispに変更しました。以降も先進的な機能を積極的に導入し、代表的な商用Common Lisp処理系として開発と提供を継続しています。

特徴


Allegro Common Lispは、以下のような特徴を持っています。

高水準のMOPサポート: AMOP(Metaobject Protocol)仕様をフルサポートしています。
ネイティブスレッドとSMPマルチプロセッシング: ネイティブスレッドによる並列処理と、SMP(対称型マルチプロセッシング)環境でのマルチプロセッシングをサポートしています。
Unicodeサポート: Unicodeをサポートし、多言語環境でのプログラミングに対応しています。
言語インターフェイス: C言語、Java言語とのインターフェイスを提供し、既存のライブラリやシステムとの連携が可能です。
オブジェクトの永続化システム: Common Lisp処理系と統合されたオブジェクトの永続化システム(AllegroCache)を搭載しています。(バージョン10.1以降は組み込み機能)
GUI開発: Common Graphicsを基盤とした、マルチプラットフォーム対応のGUI(グラフィカルユーザーインターフェース)を構築できます。
実行ファイル生成: 単体で実行可能なファイルやシェアードライブラリを生成する機能と、不要な機能を削除する機能(ツリーシェーカー)を備えています。

アドオン


Allegro Common Lispには、以下のようなアドオンが提供されています。

AllegroCache: オブジェクトの永続化システム(バージョン10.1より組み込み)。
AllegroServe: Webアプリケーション開発のためのWebサーバ。
Allegro Prolog: Prolog処理系。
ELI (The Emacs-Lisp Interface): Emacsエディタとの連携機能。
Flavors: オブジェクト指向プログラミングのための拡張機能。
Allegro CL Runtime: 実行環境のみを提供するランタイム。
Allegro CLIM (CLIM 2.0): グラフィカルユーザインターフェースを構築するためのCLIM (Common Lisp Interface Manager) の実装。
Allegro Composer (旧IDE): 旧バージョンの統合開発環境
Allegro ODBC: ODBC(Open Database Connectivity)を介してデータベースに接続するためのインターフェース。
Allegro Presto: 高速なデータアクセスを提供する機能。(バージョン7.0以降はサポートされていません。)
DDE (Windows): Windows環境におけるDDE(Dynamic Data Exchange)を介したアプリケーション連携。
OLE (Windows): Windows環境におけるOLE(Object Linking and Embedding)を介したアプリケーション連携。
jLinker: Javaとの連携機能。
Allegro Webactions: Webアプリケーション開発のための機能。
AllegroStore: AllegroCacheの前身製品。

Allegro Common Lispは、長年にわたり開発が続けられており、現代的なソフトウェア開発ニーズに対応する様々な機能を提供しています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。