#writeソケットのblocking防止について考えていたんだけれども、単にflushを弱くするだけだとあんまり綺麗じゃないかも。
#バッファサイズよりでかいデータを書こうとしたら、たとえflushがpartialで帰ったとしても必要なバッファの空きが出来るまでflushが繰り返し呼ばれちゃう。
#partial flushを使う時は使う方がバッファの空きサイズを気にしながら使う、という運用で逃げる手もあるけれどすっきりしない。
#むしろ、書けなかったぶんを無制限にバッファリングできるlazy output portみたいなのを提供したほうがいいかも。
#(メモリの許す限り)何を書いてもブロックしないことが保証されている。但し実際に出力されるのは、それが可能になった時に可能なだけなので、いつ本当に出力が終わるかはわからない (出力が終わったかどうかをポーリングすることはできる)
##なるほど、それはよさげですね
#もうひとつ考えていたのは、実際の読み込み/書き込みはきっとバイト列として行うのだけど、特に入力の場合、解釈そのものは文字単位で行うことが多いと思うのだけど
#マルチバイト文字が生き別れになった場合、読み込んだバイト列が文字を成立させるに足りなかった場合は、そのバイトは「読めなかったこと」にするのがいいんですかね?
#半端なバイトはバッファに残しといて、read-charは読めた分まで返すのが正解でしょうね。
#次に文字を読みにいった時に、新たなデータが到着してれば文字が返るかもしれない。
#何か異様に眠い
#校正中にふと意識が飛ぶ...
#眠りながら校正は危険 :D
#そうなんだよね... 困ったもんだ
#ここ何年かはよく昼寝するようになったな。子育てで睡眠時間が足りてなかったというのもあるけど、「だるー」と思いながらやってても全然進まないし。
#parenscript 対抗策として、var 変数のシンボルは一部 gensym で生成するようにしてみました。
##難読化(笑)。
#gensym しとけば、マクロを再帰的に呼び出しても大丈夫なので、いいことがあるはず。
#ぼくもいつも午後 2:30 くらいから急激に眠くなります。10-20 分くらい眠るとすっきりしますねー。
#ああ、なんかいい感じになってきましたね :)
#(こういうコードがなぜかfamiliarに見える)
#あは。
#Gnnnってのを見ると何となくほっとする(笑)
#関数の引数もあとで gensym にかえようと思います。
#だいぶCLに毒された(洗脳された)模様
#Gaucheもそうだよ
#gosh> (gensym)
G199
#ええ
##:G199 じゃないのね
#そうそう。gauche の gensym に、あたまに $ をつけてます。まぁ、$ はまぁ、念のため。
#ああ、gaucheはまだuninterened symbolに特別な表記をしていない
##:symbol って、Guileがキーワードの表記に使ったんだよね。
#へぇ
#それで、互換性のためにGaucheでもオプションでサポートしようかなとか考えてたんだけど
#結局Guileとコードを共有することが無いので、まあいいかなあ。
#Guileと同じコードを共有する可能性はほとんどないでしょう
#そろそろ電池が持たんな
#今日はACアダプタを家に忘れてきてしまったので、もっぱら紙ベースのお仕事
#そろそろ電池が限界だから帰ります(ひどいな...)
#おつかれさまでした。
#電池の残りが迫ってると、意外とはかどりますよね。
#そしてもうちょっとってところで落ちちゃうと泣ける
#私はバッテリ残量が少なくなると落ち着かなくてコード書きは出来なくなるなあ。
#あら、ぼくだけか。
#ぼくはタイムリミットが近づいているときとトイレを我慢しているときに、なぜか仕事がはかどります。
#あ、あと、休日出勤のときも。
#ああ、休日出勤ははかどるはかどる。
#distractionが少ないからじゃないかなあ。