相关疑难解决方法(0)

如何使callCC更具动态性?

我认为ContT的正确类型应该是

newtype ContT m a = ContT {runContT :: forall r. (a -> m r) -> m r}
Run Code Online (Sandbox Code Playgroud)

和其他控制操作员

shift :: Monad m => (forall r. (a -> ContT m r) -> ContT m r) -> ContT m a
reset :: Monad m => ContT m a -> ContT m a
callCC :: ((a -> (forall r. ContT m r)) -> ContT m a) -> ContT m a
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法进行callCC类型检查,也不知道该怎么做.我设法制作shiftreset打字检查

reset :: Monad m => …
Run Code Online (Sandbox Code Playgroud)

continuations haskell callcc

22
推荐指数
1
解决办法
828
查看次数

标签 统计

callcc ×1

continuations ×1

haskell ×1