タグ

ブックマーク / tsz.hatenadiary.org (3)

  • sheepleでディスパッチ - tszの日記

    sheepleはCLOSの総称関数の様なディスパッチ機構を持っています。 まず、「メッセージ」を定義し、「メッセージ」への各オブジェクトの「応答(reply)」を定義していきます。 「メッセージ」がCLOSの総称関数、「応答」がCLOSのメソッドにあたります。 (defmessage test (obj)) (defvar *obj1* (object)) (defreply test ((obj *obj1*)) (write "*obj1*")) (test *obj1*) ;; -> "*obj1*" ;; => nil CLOSと明に違うのは、sheepleにはクラスがないため、「応答」の特定がオブジェクトに対して行なわれるところでしょうか? ただし、「応答」の特定がオブジェクのみだと不便であるため、parentsで指定したオブジェクトに特定された「応答」も選択されます。 (def

    sheepleでディスパッチ - tszの日記
  • Gauche用のSwankサーバ - tszの日記

    Slimy hackathon#1には用事があって参加出来なかったのですが、何かやりたいなと思っていまして、gauche用のSwankサーバを書いてみることにしました。 mit-schemeのSwankやswank.lispのコード、あとは*slime-events*バッファへ表示される情報を基に、何とか遊べるレベルまでの実装にはなりました。 以下の様な機能を実装してあります。 シンボルの補完 (c-p-c形式も) replでの評価 (read writeも可) 編集バッファでの評価(C-x C-e, C-c C-c どっちもやることは同じですが…) 以下のバージョンで確認しています。 Slime 2009-03-09 Gauche 0.8.13 以下の設定を.emacsに追加して、M-x gaucheでreplが起動出来ます。 (push "<path-to-slime-dir>/sli

    Gauche用のSwankサーバ - tszの日記
  • 突発性CL勉強会1回 SLIMEについて - tszの日記

    突発性CL勉強会でSLIMEについて勉強。 id:g000001さん、id:mokeheheさん、NANRIさんとid:tszの4人で実施。 新宿大ガード横店は改装工事をしていたので、近くの別店に移動しました。 新宿のルノアールで7時間実施。SLIMEの話題自体は2〜3時間で終わりましたが、 その後の話が熱かったです。gooやdylanにも興味が出てきました。 以下は勉強会の内容と、その後自宅でおさらいした内容。 SLIME概要 emacs向けのCommonLisp開発環境。 SLIMEはemacsで動作する部分と、lisp側で動作する部分からなる。 lisp側で動作する部分はswankと呼ばれる。 emacsはswankとはS式と通じて通信する。 つまり、swankのプロトコルを理解する処理系であればCommonLispでなくても良い。 schemeやgoo,dylanなどのswankが

    突発性CL勉強会1回 SLIMEについて - tszの日記
  • 1