2009-01-01から1年間の記事一覧

executor

外部の実行可能プログラムを起動するためのライブラリ。 処理系毎の違いを吸収してくれます。http://www.cliki.net/executorいまのところ「ドキュメントはソース」かつ対応実装はSBCLのみの様です。 外部コマンドの実行 execute 基本的な機能。パス検索もな…

slime + auto-complete

ググッても誰もやってなさそうだったので。id:m2ymさんのauto-completeをslimeで使ってみる試み。auto-completeインストール後、.emacsに以下を追加。 (defvar ac-slime-modes '(lisp-mode)) (defun ac-slime-candidates () "Complete candidates of the sym…

sheepleでディスパッチ

sheepleはCLOSの総称関数の様なディスパッチ機構を持っています。まず、「メッセージ」を定義し、「メッセージ」への各オブジェクトの「応答(reply)」を定義していきます。 「メッセージ」がCLOSの総称関数、「応答」がCLOSのメソッドにあたります。 (defmes…

sheepleでオブジェクトを作る

CLikiのRecent Changesを購読していると、色々なプログラムの更新が分かります。今日はsheepleというオブジェクトシステムについての記事が更新されていました。http://www.cliki.net/Sheeple http://common-lisp.net/project/sheeple/asdf-installでインス…

CLOSでslotにアクセス

自分は、CLOSでメソッドを書いてるとwith-slots/with-accessorを多用します。 slotが増えてくるとめんどいので、with-all-slotsなるモノがあればいいなと妄想。 sbclで実装してみました。slotを確定させるためにクラスを明にfinalize-inheritanceしないとな…

二冊目のSICP

lltvに参加してきました。 このイベントでは書籍の抽選会があります。 今回は当選したのですが、当たった書籍がSICPという…。 邦訳二冊目get!前のが古くなってきてたのでちょうど良かったぜ!

ClojureのtrampolineをCLで

Programing Clojureを読んでいたところ、相互再帰のためのツールとしてtrampolineという関数が紹介されていました。クロージャが返される限り、返されたクロージャを呼び続ける関数のようです。現状のClojureは末尾呼び出しの最適化を行わないため、trampoli…

リストの破壊的な操作

g000001さんの所のネタ。 http://cadr.g.hatena.ne.jp/g000001/20090521/1242909362alistからplistへの破壊的な変換。やってみたら、とっても直接的になった。 (defun nalist-to-plist (alist) (loop for x on alist by #'cddr do (let* ((cons1 x) (cons2 (…

swank-gaucheを改良

sawnk-gaucheにinspector機能を追加しました。また、Gauche-boxで動かなかった問題を修正しました。http://homepage.mac.com/WebObjects/FileSharing.woa/wa/swank-gauche-0.2.tgz.2.tgz?a=downloadFile&user=tak_szk&path=.Public/swank-gauche-0.2.tgz

Gauche用のSwankサーバ

Slimy hackathon#1には用事があって参加出来なかったのですが、何かやりたいなと思っていまして、gauche用のSwankサーバを書いてみることにしました。mit-schemeのSwankやswank.lispのコード、あとは*slime-events*バッファへ表示される情報を基に、何とか遊…

erlangの機能をlispの書式で使う

erlangの機能をlispの書式で使えるLFE(Lisp Flavoured Erlang)というプロジェクトが在るようです。 => http://forum.trapexit.org/viewtopic.php?p=40268#40268erlangの書式に慣れられなかった人もこれで安心です。lfeの"doc/user-guide.txt"を見ながら、少…

ex2.6 Church数

ex2.6はチャーチ数の問題で、以前に取り組んだ時はweb上の情報をみてもさっぱり分からなかった問題です。 今回いろいろやってみて、何となく分かって来ました。 あと、素のラムダ計算を記述するためには、schemeは絶望的に向いていなそうです。大分慣れたと…