Parameterized Monad [http://j.mp/qicJiJ http://j.mp/oVzOiM ] に対応する Parameterized Applicative が求められていますね。 #ICFP #cont2011 > Applicative Style
2011-09-23 20:05:14runC $ (+) <$> reset ((*) <$> return 2 <*> shift (\k -> return $ k (k 10))) <*> return 1 #cont2011
2011-09-23 20:25:41こういう簡単な例は理解出来るんだが、リストの掛け算みたいな再帰関数に継続を組み合わせると難しい、というかどう組み合わせるのか思いつけない。。。(;_;) #cw2011
2011-09-23 20:22:56どうも以前のindexed monadバージョンがあたまにある。shift :: ((a -> w) -> Cont w w) -> Cont w a か…
2011-09-23 20:15:11@keigoi これのことですね http://j.mp/oVzOiM http://t.co/vDYCuxkr
2011-09-23 20:29:31何がやりたいか、原理的にどうやるかまでは把握。詳細と実装はMonadTransformer(?)とかを理解していないので分からず。未来の自分なら分かるようになっているはず!
2011-09-23 20:52:22#cw2011 Haskell の Monad がうっとうし〜 walk_tree は OchaCaml で書いた方がわかりやすそう。
2011-09-23 20:54:50どうせ、shift の中で継続は呼ばれるんだから、shift したら継続を捨てる方が自然だよな。 #cw2011
2011-09-23 21:01:27shift/resetはcall/ccと違って部分的なコンテクストしか持たなくていいから、実装上の都合がよろしいということだろうか?あと、リソースとかのことを考えなくてすむとかか?
2011-09-23 22:13:35liftCallCC :: (((α -> pr β) -> pr α) -> pr α) -> ((α -> RegionT s pr β) -> RegionT s pr α) -> RegionT s pr α よめる、読めるぞ。私にも型シグネチャが読める!
2011-09-23 22:19:43@tanakh あっ、Oleg さんから liboleg の限定継続関係のモジュールを分けてアップロードする許可を取りましたよ。詳細は後で相談しましょう。
2011-09-24 00:57:50*** *** workshop (Sep. 24) *** ***
Invited Talk: Continuations and classical logic: using continuations as a tool for logic
Koji NAKAZAWA