Gauche > Archives > 2013/04/09

2013/04/09 13:21:00 UTCshiro
#
x86_64でint引数をlong引数に変えるとABI的にまずいっけ。レジスタ渡し分はcallerを旧ヘッダでコンパイルした場合に上位がクリアされてない可能性くらい? スタック渡しはintとlongで違うんだっけ。
2013/04/09 18:53:14 UTCshiro
#
ScalaのRangeの話 https://groups.google.com/forum/?hl=ja&fromgroups=#!topic/scala--tohoku/oKmOIiUPB04
#
これってmapの動作を「入力がlazyなら出力もlazy; 入力がstrictなら出力もstrict」にしてるのが根本的な問題な気がするんだけどどうなんだろ。
#
lazy版とstrict版は色々違うのではっきり分けといた方が幸せではないかなあ。まあ2009年の話だから今は違ってるのかもしれないけど。
2013/04/09 19:04:41 UTCshiro
#
Gaucheは、動的型ってせいもあるけど、出力(動作)がlazyかどうかでlmapとmapで分けてて、どちらも入力はlazyでもstrictでもいい。計算済みのリスト突っ込んで出力はlazyに得たいって場合もあるし、入力lazyだけどどうせ全部使うから出力は一気に得たいって場合もある。lazy->lazy, strict->strictとする実用的な必然性ってあまり無いと思う。
2013/04/09 20:18:13 UTCRui
#
System V ABIだと整数は64ビットレジスタの%rdi, %rsi, ...で渡すということになっているので上位はクリアされてるんじゃないでしょうか。
#
引数が多い時のスタック渡しは謎ですね。64ビットでアラインされるので位置は同じですけど上位32ビットがクリアされる保証はなさそうな。
2013/04/09 21:40:14 UTCyamasushi
#
trieが<dictionary>ではないのはなぜでしょうか?
#
なにか不都合なことがおきるということなのかなあとか。