| パラダイム | 関数型、手続き型、オブジェクト指向、宣言型、リフレクション型、メタ |
|---|---|
| 家族 | リスプ |
| デザイン: | アレクサンダー・バーガー |
| 初登場 | 1988年 |
| タイピングの規律 | アヒル、ダイナミック、強い |
| 実装言語 | LLVM、ピコリスプ |
| OS | POSIX |
| ライセンス | マサチューセッツ工科大学 |
| ファイル名拡張子 | .l |
| Webサイト | ピコリスプ |
| 方言 | |
| 代替ピコリスプ、ミニピコリスプ[1] | |
PicoLispはプログラミング言語であり、Lisp言語の方言です。LinuxなどのPOSIX(Portable Operating System Interface)準拠のオペレーティングシステムで動作します。最も顕著な特徴は、シンプルさとミニマリズムです。PicoLispは、1つの内部データ型(セル)に基づいて構築されています。言語レベルでは、プログラマーはセルで表され、セルの末尾のビットで区別される3つの異なるデータ型(数値、シンボル、リスト)を使用できます。[2] MITライセンス(X11) に基づいてリリースされた無料のオープンソースソフトウェアです。
特徴
関数は任意の型と数の引数を受け入れることができます。マクロはまれな場合にのみ必要であり、quote関数を使用して実装されます。PicoLispにはLispのラムダ関数はcar含まれていません。これは、quote関数が最初の引数だけでなく、すべての引数を未評価で返すように変更されているためです。 [3]
特別な機能は、組み込みの作成、読み取り、更新、削除(CRUD) 機能です。永続シンボルは第一級オブジェクトであり、アクセス時にデータベースファイルから自動的に読み込まれ、変更時に書き戻されます。アプリケーションは、エンティティとリレーションのクラス階層を使用して記述されます。
その他の機能には、Prologエンジン、データベース エンジンとデータベース クエリ、分散データベース、C言語関数とネイティブ C 関数呼び出しのインライン化、子プロセス管理、プロセス間通信、ブラウザーのグラフィカル ユーザー インターフェイス(GUI)、国際化とローカリゼーションなどがあります。
歴史
1980年代に、PicoLispはMacintosh上で開発が始まり、それ以来、商用アプリケーション[ which? ]の開発に使用されました。 [要出典] PicoLispの設計は、MacLisp、Interlisp、主にPortable Standard Lispの最初のバージョンに最も似ています。[4] DOSとSCO Unixに移植されました。 1993年以降、主にLinuxで使用されました。 1990年代半ばには、データベース機能が追加されました。
最初のバージョンは C とアセンブリ言語を組み合わせて書かれていました。1999 年に、完全に C でゼロから書き直されました。2002 年に、そのバージョンはGNU General Public License (GNU GPL)の下でリリースされました。2010 年に、MIT/X11 ライセンスに変更されました。
2009 年には、64 ビットバージョンがリリースされました。これは、汎用アセンブリで記述され、PicoLisp で実装された、別の書き直しです。このバージョンでは、コルーチンのサポートが追加されています。
2010年12月にはErsatz PicoLispというJavaバージョンがリリースされた。[5]
2014年9月、バーガーはPicoLisp開発リストサーブでPilMCUプロジェクトを発表しました。これはジョージ・オライスと共同でPicoLispをハードウェアに直接実装する取り組みです。[6]
2015年7月、バーガーは組み込みアプリケーションを対象としたPilMCUの修正に基づく最小限のプロトタイプであるPilOS(PicoLispオペレーティングシステム)を発表しました。[7]これは、標準のx86-64 PCハードウェアでBIOSから直接実行され、64ビットPicoLispのすべての機能(C標準ライブラリなどの他のネイティブ環境がないため、ネイティブ関数呼び出しを除く)を備えています。原則として、独自のオペレーティングシステムとして機能します。[8]
2016年の夏、純粋なPicoLispでアプリを作成できる汎用AndroidアプリであるPilBox (「PicoLisp Box」)の開発が開始されました。現在も開発とメンテナンスが続けられています。 [9]
2021年にPicoLispはLLVMで再実装され、pil21としてリリースされました。LLVM -IRにコンパイルされたソース言語もPicoLisp構文です。
参考文献
- ^ 「PicoLisp ダウンロード」。ソフトウェアラボ。2018年11 月 18 日閲覧。
- ^ Burger, Alexander. 「内部構造」. Software Lab . 2018年11月18日閲覧。
- ^ 「小さな詳細でも違いを生みます!」
- ^ 「Re: PicoLisp ルート」。
- ^ Burger, Alexander (2013 年 5 月 8 日). 「Ersatz PicoLisp」. Software Lab .
- ^ 「発表: ハードウェアにおける PicoLisp」。
- ^ 「PilMCU は終了しました - PilOS 万歳!」
- ^ 「PicoLisp Wiki: Pilos」.
- ^ 「PicoLisp PilBox は Google PlayStore にあります」。
外部リンク
- 公式サイト
- C2 wiki の Picolisp
- PicoLisp での関数型プログラミングに関するブログ
- PicoLisp のローリングリリース
- GitHub の PicoLisp リポジトリ
