DOWNLOAD
実行ファイルとソース | ttcpplisp_070912.zip |
概要
TtCppLisp は C++ で記述され実装された Windows 上で動作する Lisp 処理系です。 系統としては Common Lisp 系の実装となっており、 web で良くある scheme 系の実装ではないです。 コンパイル形式ではなくインタプリタとなっています。
C++ を選択した理由は C++ の勉強の為です。 当初は主に以下の機能の勉強を目的としていました。
- 参照
- テンプレート
- STL(を含めた標準ライブラリ)
パフォーマンスは良くないです。というか考えて作ってないです。 たらいまわし関数で比較して、以下を実行した場合
(defun tak (x y z) (if (>= y x) y (tak (tak (- x 1) y z) (tak (- y 1) z x) (tak (- z 1) x y)))) (tak 10 5 0)
xyzzy => 1 秒ぐらい TtLisp => 2 秒ぐらい TtCppLisp => 13 秒ぐらい、で劇的に遅いです。
コンパイラは Borland C++ Compiler 5.5.1 を使用しています。
実装済みの代表的な機能
- 基本的なデータ型
- ブロック構造(block と return-from)
- ガーベージコレクタ
- クロージャ
細かいの
- ディスパッチングマクロ(一部)
- 異なる数値型同士の計算
- 文字列リテラル中のエスケープ
簡単な使い方
コマンドプロンプトより Debug ディレクトリまたは Release ディレクトリの中の ttcpplisp.exe を実行してください。
lisp のプロンプトが開始されますので、 そこに式を記述してください。
コマンドライン引数にファイルを指定すると、 それを lisp として読み込み実行します。 load-library 関数を使用してもファイルから lisp を読み込みます。
Generated by wifky 1.0.3.1 with Perl 5.008009