Gauche > Archives > 2012/06/03

2012/06/03 06:37:06 UTCyamasushi
#
いまのGaucheでwebからデータを取得して処理する場合、http-getを使うわけですが、文字列を使うことになりますよね?このときも文字列からポートにしたほうが良いということですか?
2012/06/03 06:44:10 UTCshiro
#
http-getで文字列を返すのはデフォルトの動作で、文字列にしたくない場合はハンドラを渡すことができます。あ、でもジェネリックなハンドラはundocumentedだった。
#
今でもsinkにパイプを渡すことはできるけどちょっと大げさになりますね。
#
むしろhttp-getは同期呼び出し前提 (http-getが返る時には通信が終わってる) で、パイプラインみたいな形式とは相性が悪いことが問題かな。まあパイプライン形式で書いてあるやつをhttp-getで包むように変換してやればいいかと思う。
2012/06/03 07:03:02 UTCshiro
#
ふと思ったんだけど、args -> args な関数をつなげるコンビネータを書くより、generator -> generator な関数をつなげる(こちらはコンビネータではなく通常の関数呼び出しの連鎖になる) 方がSchemeでは見やすいかも。で、一般の処理をgenerator -> generator にリフトするやつを別に書けば。 liftG : (A -> B) -> (Generator A -> Generator B) みたいな。
#
値の流れが複数ある場合にどうするかって話は別にあるけど。
#
というかliftGはgmapそのものだな。gmapなら流れの合流も書ける。流れの枝分かれをどう書くか、か。