ISLISPは、その柔軟性と強力な機能から、長年にわたり多様なプラットフォームで実装されてきました。現代のコンピューティング環境において、ISLISPを動作させるための手段は、伝統的なコンパイラから最新のWebベースの実行環境まで多岐にわたります。

主要な実装の概要

ISLISPの実装形態は、コードを直接実行するインタプリタ(逐次実行方式)や、別の言語に変換して高速化するコンパイラなど、開発目的やターゲット環境に応じて最適化されています。例えば、C言語やJavaScriptへコンパイルすることで、実行速度の向上やブラウザ上での動作を実現している例があります。

また、Common Lispという別の標準規格の上にISLISPの互換レイヤーを構築するアプローチも取られており、これにより既存の強力なLispエコシステムをそのまま活用することが可能です。

対応ハードウェアとOSの広がり

ISLISPは驚くほど幅広いアーキテクチャをサポートしています。x86やx86-64といった一般的なPC向けだけでなく、ARMやAArch64などのモバイル・組み込み向け、さらにはSPARC、PowerPC、MIPS、Alpha、PA-RISC、IA-64といった専門的なハードウェアへの対応実績があります。

動作するOSについても、WindowsやLinux、macOSといった主要なシステムはもちろん、Android、MS-DOS、OS/2、さらには各種Unix系OS(BSD, AIX, Solaris, QNXなど)までカバーされており、環境を選ばず導入できる柔軟性を備えています。

主要な実装一覧

現在利用可能な、あるいは歴史的に重要なISLISP実装を以下にまとめます。

ISLISP実装の比較一覧
名称 開発者 完全準拠 実装言語 ライセンス
OpenLisp Eligis あり C, Lisp プロプライエタリ
Easy-ISLisp 笹川健一 あり C, Lisp BSD
islisp-compat Derek Newhall あり Common Lisp CDDL
Iris 谷口正也 なし Go MPL 2.0
Prime-Lisp Mikhail Semenov あり C# プロプライエタリ/シェアウェア
Isle ISLISP KIM Taegyoon なし Common Lisp Unlicense
dayLISP Matthew Denson なし Java, Lisp BSD
Kiss 峰島裕二 未完了 C, Lisp GPL v3+

Key Facts

  • 広範な互換性: x86からARMまで、ほぼ全ての主要なCPUアーキテクチャで動作実績がある。
  • 多様な言語での実装: C, C#, Java, Go, Common Lispなど、多種多様な言語を用いて構築されている。
  • Webへの展開: Iris web REPLのように、JavaScriptへコンパイルしてブラウザで動作させる実装も存在する。
  • ライセンスの多様性: BSDやMPLなどのオープンソースから、商用ライセンスまで幅広く存在する。

過去の実装について

現在は利用できなくなっていますが、歴史的に重要な実装として、東北大学の泉正人氏と伊藤隆康氏によるインタプリタコンパイラの「TISL」や、Josef Jelinek氏によるJavaアプレットベースの「G-LISP」が存在していました。

Frequently Asked Questions

ISLISPを今から始めるのに最適な実装はどれですか?

目的によりますが、完全な準拠を求めるならEasy-ISLispやislisp-compatが適しています。また、モダンな環境で試したい場合は、Go言語ベースのIrisやWeb REPLが手軽です。

Common Lisp環境でISLISPを動かすことは可能ですか?

はい、可能です。islisp-compatのようにCommon Lispの上にパッケージとして構築された実装を利用することで、Common Lispの実行環境上でISLISPを動作させることができます。

Androidなどのモバイルデバイスで動作しますか?

はい。ISLisproidのようなJavaベースの実装や、ARM/AArch64アーキテクチャに対応した実装が存在するため、Androidを含むモバイル環境での動作が可能です。

オープンソースで公開されている実装はありますか?

多く存在します。具体的には、BSDライセンスのEasy-ISLispやdayLISP、MPL 2.0のIris、GPL v3+のKissなどがソースコードを公開しています。