【发布时间】:2014-12-06 06:16:22
【问题描述】:
我很难转换一个简单的 CPS 函数
这是一个 CPS 风格的平方函数
-- from : http://en.wikibooks.org/wiki/Haskell/Continuation_passing_style
square :: Int -> Int
square x = x * x
square_cps :: Int -> ((Int -> r) -> r)
square_cps = \cont -> cont (square x)
-- square_cps 3 print will write '9' out in console
现在,我想以相反的顺序更改函数参数
square_cps' :: ((Int -> r) -> r) -> Int
square_cps' = ?
不可能吗?
【问题讨论】:
标签: haskell continuations