Gauche > Archives > 2009/05/21

2009/05/21 00:02:05 UTCえんどう
#
(1) /をつけないとファイルとみなしてarchivesという名前のファイルが出来る
#
(2) /をつけるとディレクトリだとみなしてachives配下にindex.htmlという名前のファイルが出来る
#
という挙動ですね>wget
2009/05/21 00:08:46 UTCえんどう
#
http://karetta.jp/article/blog/oneline/251638
#
上記に書いておきました>wget tips
2009/05/21 01:32:19 UTCshiro
#
@とおる: その日付はファイルのmtimeかも。
#
何かの原因でtouchしちゃったら更新されちゃう。
#
escm 1.1のあとでaescmが作られたはずなので、escmはもっと前。
2009/05/21 02:18:20 UTCとおる。
#
http://practical-scheme.net/gauche/man/?l=jp&p=case
2009/05/21 02:22:33 UTCとおる。
#
case の datum のところに GLUT_KEY_UP みたいな定数値を書きたいときってどうやるのがいいんでしょう?
2009/05/21 02:24:35 UTCshiro
#
それ、私もどういう仕様がいいのか時々悩みます。
#
とりあえず、R5RS本来のcaseでは書けません。
#
で、選択肢のところを評価するcaseっていうのがあるべきかなとも思うんだけれど
#
そうなると比較関数もバリエーションがあり得るしなあ、とか想い出して
#
思いだして、綺麗な仕様が思いつかない
#
とりあえず、src/compile.scmなどではcase/unquoteというのをいちいち定義して使ってます。
2009/05/21 02:28:02 UTCとおる。
#
うーんなるほど。
2009/05/21 02:28:30 UTCshiro
#
で、悩んでいるうちになんとなくいつもcondで書いちゃう。
2009/05/21 02:30:10 UTCとおる。
#
C プリプロセッサのマクロ定数という概念が、いまいち Scheme の世界にはマッチしないのかな。
2009/05/21 02:33:05 UTCshiro
#
どっちかっていうとJavaの定数みたいに、「言語仕様的には、『変化がないことがわかっている変数』であって、それを効率よく扱うのは処理系に任せた」という風情がありますね。
#
でもcase/unquote、欲しくなる頻度としてわりとボーダーラインにあるんですよね。組み込みにすべきかどうかという。
2009/05/21 02:50:57 UTCshiro
#
そもそもR6RSへの流れだと、「定数かどうかはプログラマがわざわざ指定すべき情報じゃなく、処理系がソースコードを見て理解すべき」という感じだからな。
2009/05/21 02:54:52 UTChigepon
#
case の件、僕もいっときかなり悩みました。
#
定数でディスパッチしたいですよね。(でもユースケースがコンパイラなので、一般に必要かは疑問)
#
shiro さんが書かれているように、まあマクロでがんばってね。という程度の仕様頻度っぽいという感じか。
2009/05/21 03:05:33 UTCとおる。
#
外部表現で比較するって言うことは、不動小数点数は 10 進表記で比較するのかな?
2009/05/21 03:06:51 UTCshiro
#
ちゃんとした処理系なら浮動小数点数について <内部表現> : <外部表現> は 1 : n の関係になってるはずなので、外部表現が決まれば対応する内部表現が確定する
2009/05/21 03:13:29 UTCshiro
#
…じゃ答えになってないか。case形式を読み込んだ内部表現でeqv?を使って比較することになってるんじゃない?
2009/05/21 04:03:52 UTCとおる。
#
ああそうか。1.0 とかいても 1.0000 とかいてもいいってことですね。
#
NaN とかもできるのかな。暇なときにためしてみよう。
2009/05/21 04:17:13 UTCshiro
#
NaNの比較はちょっと特殊なので注意。
2009/05/21 04:23:10 UTCshiro
#
R6RSではNaNの取扱いに決着ついたんだったっけ? 忘れちゃったな。
#
IEEEに倣うと、NaNはNaN自身も含め他のいかなる数値とも「等しく」ならない。
#
なのでcaseでリテラルに使うのは無意味だと思う。
2009/05/21 04:33:57 UTCとおる。
#
http://maru.bonyari.jp/texclip/render.php/texclip20090520183327.png?s=%5Cbegin%7Balign*%7D%0A%20%20f(a%2Cb)%3D%5Cint%5Cint%5Cint_%7B%5Cint_%5Cint%7D%5Eb%5Cfrac%7B1%2Bx%7D%7Ba%2Bx%5E%7B2%5E%7B2%5E%7B2%5E2%7D%7D%7D%2Bx%5E3%7Ddx%0A%5Cend%7Balign*%7D%0A&f=c&r=300&m=p&b=f
#
おお。貼れた。
#
ああなるほど。比較できないから意味がないんですね。
2009/05/21 10:18:17 UTCshiro
#
おっとしまった。urlの認識がおかしかった。上のとおるさんの発言の数式が数式に見えなくなっちゃった人はリロードしてください。
2009/05/21 10:30:20 UTCとおる。
#
Scheme で JS を生成するこころみ。
#
http://github.com/torus/webchat/blob/master/script.cgi
#
いまはまだ 1 行ごとに置き換えているだけですが、
#
低レベルのところができれば、あとは高階関数とかマクロでなんとでもできるんじゃないかなと思って。
2009/05/21 10:41:10 UTCshiro
#
ciseみたいな感じでいけるんじゃないかなあ。
#
プリミティブなところだけサポートできれば、あとはマクロで構文を増やして行けるから楽だと思う。
2009/05/21 13:07:21 UTCえんどう
#
Kahuaにはinterp-jsが入ってますよ>とおる。
#
あれ、入ってないか
2009/05/21 13:08:21 UTCshiro
#
入ってるのはjsonじゃない?
2009/05/21 13:08:31 UTC(び)
#
interp-json
#
あと、parenscriptからアダプトしたものをshibataが入れてたかもしれない
#
あれ、違うか
2009/05/21 13:09:54 UTCshiro
#
S式からCSSを出すやつってKahuaにあったっけ?
2009/05/21 13:10:09 UTC(び)
#
えーっと
2009/05/21 13:10:16 UTCshiro
#
仕事でCommon Lispで書いたのはあるんだけどオープンにできない
2009/05/21 13:10:16 UTC(び)
#
どっかで見たな
2009/05/21 13:10:31 UTCshiro
#
でもSchemeでも書いたことがあるような気がする
#
ああ、あったあった。css.scmだ。
2009/05/21 13:11:13 UTC(び)
#
です
#
わたしはほとんど触った記憶がない
2009/05/21 13:12:04 UTCshiro
#
こっちを先に書いて、便利だったからCLにポートしたんだったな。
2009/05/21 13:13:51 UTC(び)
#
css:HSB->RGBってのが何かマニアック
#
Web開発でHSBを意識することって、あんまりない気がする
2009/05/21 13:15:23 UTCshiro
#
色空間の操作を書いたのは私じゃないと思う。何かで使ったんじゃないかな?
2009/05/21 21:18:36 UTCとおる。
#
cise をちょっと意識してみました。
2009/05/21 21:26:53 UTCとおる。
#
http://www.kahua.org/cgi-bin/viewvc.cgi/Kahua/trunk/src/kahua/server.scm?view=markup
#
interp-json ここにあるやつですね。
#
以前、Scheme のコードを JavaScript にトランスレートするのにトライしたことはあるんですけど、どこに return を入れていいかわからなかったので、そのときはあきらめました。
2009/05/21 21:45:08 UTCとおる。
#
HSB を意識するときれいな虹色のグラデーションが作れるから、あると意外と便利かも。
2009/05/21 23:19:43 UTCえんどう
#
http://svn.kahua.org/js/trunk/js.scm
#
interp-jsじゃなかった
2009/05/21 23:53:44 UTCえんどう
#
http://svn.kahua.org/kagoiri-musume/trunk/plugins/css.scm
#
interp-css