わーい \(^o^)/ LispをPostScriptで書いたLispで書いたよー!
zickです。
最近、巷(*)ではLisp(Scheme?)を実装するのが流行っているようで。
その流れにのっとって私も変なものをつくってみました。
***PostScriptで書いたlisp***
- ソース
- 実行結果
名前はまだないのですが、仮にpslispと呼びます。
このpslispはPostScriptで書いたLispインタプリタです。
単に式を評価するだけではなく、その値を図示してくれる優れもの(?)です。
実は去年の4月ごろにほぼ完成していたんですが、
条件分岐などを加え、再帰が使えるようになりました。
***pslispで書いたlisp***
- ソース
- 実行結果
pslispで動かすためにエスケープ文字を付加し、改行を消しているためカオスなことになってます。
(追記)
はてなブックマークにて指摘がありました。
yshl (と)が対応していればエスケープは無くていいし、文字列中で改行できるので、もっと読みやすくなるはず。
ありがとうございます。お陰でずいぶん読みやすくなりました。
改行の方は面倒なのでまた今度で(笑)
まあ、これだけ見てもなんのことやらといった感じですが、
自分で書いたlispインタプリタの上でさらに、
lispインタプリタが動いていると考えると、なかなか感慨深いものです。
—
なんでまたPostScriptなのかというと、
「PostScriptってチューリング完全らしいよ」
「ってことはプリンタでLispを動かすことができるんですか!?」
という会話をし、そのまま勢いでつくったというだけです。
相変わらず何も考えていません(笑)
つまり、目標はプリンタで動かすことなんですが、
現状ではGhostscriptでしか動作を確認していません。
レーザプリンタなどで動作確認をしてくれたら嬉しい……ですが、プリンタの安全は保障しかねます。
(*)巷の人たち
3/8のgauche.nightの第1部座談会にご出演いただけないでしょうか。
もし出演していただける場合はお名前の表記(と必要なら所属)をお教えください。
なお、出演者の方はチケット購入の必要がありません。