まったりと開催されましたslimy hackathonですが、無事48時間経過し終了となりました!!
結局のところ皆でテーマを決めて過す週末という感じでしたが、これはこれで良かったと思います。
割と野心的な取組みもあり、今後の開催で続きを作って頂きたいなと思いました。
自分のメインプロジェクトはSLIMEをLispマシンに近付けるというものでした。
Lispマシンのマニュアルからキーバインドをちょこちょこ移植しただけに終ったのですが、便利そうなコマンドが結構あって、やっぱりLispマシンのマニュアルは一回通して読んでみるべきかもしれないと思いました。
例えば、今回、Eval Region Hackというコマンドを見付けたのですが、これは、リージョンを評価するにあたって、defvarの値も更新してくれるというものです。
自分はこんな感じに再現してみました。
;; c-m-sh-e Evaluate Region Hack
;; ----------------------
;; => slime-eval-region ?
;; リージョンにdefvarがある場合、値を再定義
(progn
(defun slime-eval-region-hack (start end)
(interactive "r")
(slime-eval-with-transcript
`(swank:interactive-eval-region
,(replace-regexp-in-string
"defvar"
"defparameter"
(buffer-substring-no-properties start end)))))
(define-key slime-mode-map [(control meta shift ?e)]
'slime-eval-region-hack))
CLのコードを書いている方なら、開発中にdefvarのこの挙動が面倒で、defparameterにしたりしている方もいらっしゃるのではないでしょうか。
こんなコマンドがあるなんてさすが、Lispのコードを書いてる人が開発していた環境だ!、等と地味に感心していました。
そんな感じのslimy hackathon #1でしたが、また機会があれば開催してみたいと思っています!
試みられたプロジェクト
(http://fixdap.com/p/slimy-hackathon-01/):
-「slime-edit-definitionの(setf foo)対応」:g000001
-「slime-modeのコマンドを全部試してみる」:NANRIさん
-「slimeとeliの共存についてちょっとだけ調べる」:akaさん
-「newLISPをSLIMEから動かす」:koshさん
-「clispのarglist表示をいい感じにする」:NANRIさん
-「slime-jp@reddit」:g000001
-「色々な処理系でSLIME」:g000001
-「SLIME、Lispマシン化計画」:g000001
-「Climacs と SLIME?」:quekさん
-「逆引きSLIME」:g000001
-「xyzzyからswankへの接続」:snmstsさん
成果物
-「slime-modeのコマンドを全部試してみる」:NANRIさん
--
(http://partty.org/session/Slimy+hackathon/2009/03/06/09/48/46)
-EmacsLisp開発環境をSLIMEのそれに近づけてみる:koshさん
--
SLIME⇔Elispのコマンド対応
-「slime-edit-definitionの(setf foo)対応」:g000001
--
(http://gist.github.com/75250)
-「slime-undefine-functionの(setf foo)対応」:g000001
--
(http://gist.github.com/74892)
-「slime-jp@reddit」:g000001
--どういう訳かチャンネルが作れませんでした(;´Д`)
-「色々な処理系でSLIME」:g000001
--Rubyでslime
---
(http://g000001.cddddr.org/1236414217)
-SLIME拡張elisp:g000001
--redshankを組み合わせでちょっと試しました。
-「SLIME、Lispマシン化計画」:g000001
--
lispm風のキーバインド
関連BLOGエントリ
-g000001
--
(http://g000001.cddddr.org/1236414217)
--
(http://g000001.cddddr.org/1236412829)
--
(http://g000001.cddddr.org/1236399760)
--
(http://g000001.cddddr.org/1236294205)
--
(http://g000001.cddddr.org/1236129077)
--
(http://g000001.cddddr.org/1234900071)
--
(http://g000001.cddddr.org/1234724265)
-quekさん
--
(http://read-eval-print.blogspot.com/2009/03/common-lisp-slimy-hackathon-climacs.html)
■