2010-08-01から1ヶ月間の記事一覧

Scrap your boilerplate

ずっと前から存在は知っていたけど読まずにいた Scrap your boilerplate: a practical approach to generic programming を一通り読んだ. http://research.microsoft.com/en-us/um/people/simonpj/papers/hmap/ これを利用した短いコードを書いてみた. htt…

Haskell で OAuth

hoauth があるけどこれまた使いにくい,というか自分には使い方がわからなかったので自分で書いた. HTTP の Request_String を作るのでこんなかんじに使える. import Control.Applicative ((<$>)) import Network.URI import Network.HTTP import qualifie…

ruby-oauth にブロックを渡せるようにする

Ruby には既に OAuth ライブラリ があるが,ブロックを渡せないのでちょっとずつ body を読み込みつつ何かする,というような処理ができない. 最終的には net/http を使っているので,適当にブロックを運ぶように書き換えて consumer = OAuth::Consumer.new…

C78

2日目と3日目に一般参加. 2日目 だいたい正午くらいにビッグサイトについて,まず最初に東方島に向かった. ひとつだけ欲しいものがあったのと,友人にいくつか頼まれていたものがあったのとで行ったけどホントに混雑がひどかった. 正直もう行きたくない.…

Twittperator 素敵

Vimperator からさくっと TL 見たりポストしたりするのに便利. ちゃんと各種コマンドで補完もきくのでわりと使いやすい. で,ちょっと不満な点があったので適当に書き足した. まず home_timeline, user_timeline, mentions の各 API に count が指定でき…

GHC API でモジュールが export している名前とその型を得る

./BrowseType Prelude のように使うと (snip) break = forall a. (a -> GHC.Bool.Bool) -> [a] -> ([a], [a]) catch = forall a. GHC.Types.IO a -> (GHC.IO.Exception.IOError -> GHC.Types.IO a) -> GHC.Types.IO a ceiling = forall a. (GHC.Real.RealFra…