関数型プログラミング ..
[2ch|▼Menu]
641:デフォルトの名無しさん
08/08/26 00:21:14
Text/ParserCombinators/ReadP.hsとKoen Claessen氏のペーパーを読んで思ったんですが、

Haskellに慣れてくるとこの実装が直感的に見えてくるんですか?
Haskellのパーサコンビネータ関連のペーパーを読んでいない状態でReadPを読んで、

data P a = Get (Char -> P a)  
      略
      | Result a (P a)
      略                  なのを「え、一番直感的じゃん」

とか、
newtype ReadP a = R (forall b . (a -> P b) -> P b)

instance Monad ReadP where
  return x   = R (\k -> k x)                    ← これとか
  fail _      = R (\_ -> Fail)
  R m >>= f  = R (\k -> m (\a -> let R m' = f a in m' k))  ← これとか
とか
get = R Get
ってなるを、「ああ、自明だなすげえ直感的」みたいに理解できるようになる物なんですかね。。難しすぎる。。。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5233日前に更新/225 KB
担当:undef