Gauche > Archives > 2012/04/16

2012/04/16 02:15:04 UTCmaru
#
--disable-tlsが地味に嬉しい。気分的なものですけど
#
(HEAD使っててごちゃごちゃゆーな、というのはある)
2012/04/16 02:17:17 UTCshiro
#
BSDのテストでひっかかるの、早くなおさないとな
2012/04/16 23:14:07 UTCnatsutan
#
すいません。schemeで処理系によって実行する処理を変える方法はあるのでしょうか。
#
Common Lispの#+CLISPのようなidiomを探しているのですが、なかなか見つかりません。
#
当面は、Gauche Mosh Guileが判別できるとうれしいのですが、ご存じの方がいらっしゃれば教えてください。
#
あ、ごめんなさい。インストール時に分けるのは見かけたのですが、僕が欲しいのは実行時に分岐する方法です。
2012/04/16 23:27:24 UTCshiro
#
主要な処理系ではcond-expandが処理系ごとのfeature idを用意しているのでそれで切り替えられるはずです
2012/04/16 23:28:55 UTCnatsutan
#
ありがとうございます。調べてみます。
2012/04/16 23:29:00 UTCshiro
#
(cond-expand [gauche ...gauche特有のコード...] [guile ...guile特有のコード...] [else フォールバック]) など。cond-expandはマクロなので、特有のコード内にトップレベルの定義やuseなども置けます。
#
gaucheとguileはこれで使えます。moshはどうだったっけ。
#
moshはr6rsの形式にしたがってないとだめ? cond-expandより前に(import (srfi :0))が要るとすると困るけどどうだろう。
2012/04/16 23:36:44 UTCshiro
#
ここでnmoshはcond-expandをネイティブにするって書いてあるけど現状どうなのかよく知らない http://wiki.monaos.org/index.php?.mjt%2Fmosh%2FSRFI%A4%CE%C0%B0%CD%FD moshはマクロ展開結果をキャッシュする都合でちょっと実装上の面倒があったような気がする…けどキャッシュの問題は陽に(import (srfi :0))しても同じだな。