Entries from 2011-12-01 to 1 month
#scala にあって他の関数型言語には見られない機能として、PartialFuncttionがあるが、良いものだと思う(命名は良くない。CheckableFunctionとか他の名前が良かった気がする)。おかげでcollectみたいなメソッドが定義できるし、他にも応用が利く。 という @k…
今年読んだ面白CS論文紹介カレンダー 9 日目?ですか?カレンダーとはなんぞやという感じですが、いつ書いてもいいっていわれたので今書きます。皆さんが大変真面目な紹介をしているところ非常に心苦しいのですが、ボクにはとても面白げに紹介なんてするでき…
ParsecでApplicativeを使ってみる追記されたコードもう Functor しか使ってない…!ということで、こういうのはどうでしょう。 parseSExp :: Parser Int parseSExp = between (char '(') (char ')') expr where expr = foldl1 <$> op <* spaces <*> nums op =…
少し遅れましたが COMFRK VOL.3 Advent Calendar 四日目です。書くの忘れてました。一年半ほど前から Haskell 界隈で Iteratee という入力処理手法が流行っています。Haskell Advent Calendar 17 日目の記事でも言われていますが、まさに Iteratee 戦国時代…
COMFRK VOL.3 Advent Calendar 二日目です!え、一日目?えへへ…実際窓に。そんなわけで今日は COMFRK VOL.3 の記事を紹介したいと思います!タイトルは「今夜はお前と俺でマルチパラダイムだからな」です。ユウジョウ!関数型プログラミングとオブジェクト…
fmap :: Functor m => (a -> b) -> m a -> m b apply :: Applicative m => m (a -> b) -> m a -> m b build2 :: (Functor m, Applicative m) => m a -> m b -> (a -> b -> c) -> m c build2 ma mb f = apply (fmap f ma) mb build3 :: (Functor m, Applicati…
ヤック殺人事件。http://hackage.haskell.org/packages/archive/derp/0.1.5/doc/html/src/Text-Derp.html parser :: (Ord a) => ParserRec Parser a -> FPValue Bool -> Parser a parser p n = fix $ \ self -> Parser p n (memoFun (deriveImp self)) (comp…