##Lambda chair
#おおすごい。画像まで完璧に再現していますね。
#ああ、ll-spiritをとりこまなきゃ。ScrapBookの使い方がよくわからないorz
##たまにはぬこぬこ動画を貼っておこう。
#てすと
##Free MotionってFreeじゃないのか。意外な盲点
#Free as in freedom.
#ScrapBookの使い方がやっto
#分かったっす
#いちど単一ページを保存して、再取り込みのときに深さを指定するんだ。
#あるディレクトリにある *.scm を全部 require する、っていうのは可能でしょうか?
#可能ですが、ちょっと工夫が要ります。
#requireはコンパイル時に働く操作なので、「ディレクトリ中の*.scmのリストを作る」という操作もコンパイル時に行わないとなりません。
#ですよね。
#地道に load でもいいんですけど、なんとなく require のほうがナウい感じがするので。
#たとえば、マクロ中で*.scmのリストを得て、(require xxx) のリストを返す、という感じにできると思います。
#loadだと同じファイルを複数回ロードできますが、requireは同じファイルは一回しか読まれない、という違いが。
#そうなんですよね。
#プラグインの仕組みができないかなぁと思っているんですが、
#Kahuaで何かやってたような
#できれば、Java のフレームワークみたいに、ファイルをおいただけで自動的に読み込まれたりするとうれしい。
#おお。
#ああ、Kahuaはloadしてるな。
#いちどしか読まないことが保証できれば、load でもいいんでしょうね。
#あと、loadする環境をいじる必要があったような (sandbox)。
#(define (initialize-plugins)
(let* ((plugin-dir (kahua-plugin-directory))
(plugin-files (directory-list plugin-dir
:filter (lambda (n) (string-suffix? ".scm" n)))))
(set! *plugins* (make-hash-table 'string=?))
;; make new module.
(set! *sandbox-plugin* (make-hash-table 'eq?))
(for-each refresh-plugin plugin-files)))
;; refresh a target plugin.
(define (refresh-plugin filename)
(let1 plugin (sys-normalize-pathname (build-path (kahua-plugin-directory) filename) :absolute #t)
(load plugin :environment (get-sandbox-module (string->symbol plugin)))))
#プラグインを更新したときとか、わざと再読み込みしたくなるかも。
#こんなことをやってる (src/kahua/plugins.scm)
#stable branch
#ああほんとですねー。
#ありがとうございます。
#用途次第ですね。javaで import foo.* みたいにするような機能を書きたいなら、
#ワイルドカードをuseのリストに展開するようなマクロにするのがいいでしょうし
#なるほど。
#ディレクトリが更新されるたびに読み込みたいなら実行時にloadでいいかも。
#最初は CGI を考えているので、ディレクトリを監視する必要はないから、
#use のリストがスマートかも。
#ScrapBookの使い方書いといたらよかったですね。>えんどうさん
#私は取り込みの深さが最初3で足りなかったので、100を指定しました。
#feedというURLで無限に待ち続けるので、随時 SKIP ボタンを押してやりすごしました。
#feedって多分RSSだと思います。いらんでしょうということで。
#Kahuaの場合、動的に*.kahuaを読み直す必要があるからじゃないのかしら
#pluginも読み直したっけ?
#ありがとうございます>kiyoka なんと深さ100とは。ほったらかしには出来ないっぽいですね。
#読み直すためのコマンドがkahua-adminにあるから読み直すはず
#ということで、明日からしばらくドイツへ行ってきます
#独逸?
#何が「ということで」なのかよくわからないけど、お気をつけて。
#まさかドイツでもトレイルを走ってくるとか…
#いやさすがにそれは...
#シュバルツバルトとか行ってみたかったんだけど
#単に去年からハンブルグに住んでいる友人を訪ねるだけです
#ところで、Chatonもそれなりに使えてるようだし、こっちの運用ノウハウも安定してきたのでもう2〜3ルームくらいサーブしてもいいかなと思い始めてきたんだけれど、まだ移転先を探している部屋ってあるかなあ。
#もうみんな行くところに落ち着いちゃったかな。アクティブな部屋は。
#いまは3つですか?
#gauche, common-lisp, haskell-ja
#haskell-jaは覗いたことがないけど
#あとテスト用にchaton部屋がある。
#あ、そうだ
#LLとかShibuya.lispは自前でどうにかしたのかしら
#Shibuya.lispはnaoya_tさんが「お願いします」って書き込んでたような覚えがあるんだけれど (chatterieの時だったと思う)
#元々のLingrのShibuya.lisp部屋ってほとんど発言が無かったんだよね。
#de,
#で、どうするのかなあと思って。Technical Talkの時だけアクティブっていうのもまあありだと思うけど。
#naoya_tさんみてないかな。
#期間限定はありかもしれませんが、shiroさんの手間が煩わしいんじゃ?
#いや、作って放置でバースト的に使ってもらうって感じ。
#ただ、恒常的なトラフィックがあった方が運営側としては楽しい :-)
#shibuya.lispのLingr部屋は、運営を相談するプライベートルームと、全然使われてない公開されているものが2つありまして、
#運営部屋はどうすっべかーという感じです
#自前でどうにかなってない…
#ああなるほど。Chatonはプライベートにできないですからね。
#Basic認証かけちゃうって手はあるけど。
#naoya_tさんが言ってたのは運営用のものだったんじゃないかと思います。
#あ、でもCometサーバに直接つなげられると困るな。
#なるほど、それならわかります>運営用
#そうだったのか…
#そうだなあ、外側のページでclient idを発行するようにして、Cometサーバの方で認知したclient idだけ受け付けるようにしたら、
#メインページのbasic認証とコンボでprivate roomが実現できるかも。
#(その場合、cometサーバが再起動した時に再認証してもらわないとならないのだけれども)
#いや、shibuya.lispの運営部屋だけのためにとなると、お手数をおかけしすぎになるかなと
#こちらとしては実験にもなるのでそんなに大変じゃないですよ。
#ただ、仕事が忙しいと何かあったときに迅速に対応できない可能性はありますが。
#その辺は全然問題ないんじゃないかなと思います(*'-')
#対応していただければ大変嬉しいです。
#そんじゃちょっと考えてみます。
#ありがとうございます!
#ありがとうございます
#他に移転先をまだ探してて、Chatonでもいいってところがあったら誘ってみてください > みなさま
#こんばんは
#色々ありがとうございます
#ScrapBookの件ですが、1時間くらいほったらかしては、時々SKIPを押してを繰り返しました。
#実験台でしたら進んで志願します
#多分10回程度SKIPを押したと思います。
#気づいたらSKIPボタンを押してという感じで、2日くらいかかりました。
#Shibuya.lispで欲しいのは運営用の部屋です
#(一般公開用の部屋は殆ど使われませんでした)
#では行ってきます