continuation-passing

    0热度

    1回答

    我无法看到spray的指令如何对应continuation passing style (CPS)。 更具体地,继续是(a -> r) -> r(在Haskell),但我不能找到其中是这种类型的((a -> r) -> r)使用喷雾directives(其具有的Route->Route其中type Route = RequestContext => Unit的类型)时。 也不Route->Rout

    0热度

    1回答

    我正在查看continuation passing style tutorial,无法理解以下函数中的类型。 chainCPS :: ((a -> r) -> r) -> (a -> ((b -> r) -> r)) -> ((b -> r) -> r) chainCPS s f k = s z where -- z :: (a -> r) -> a -> ((b -> r)

    10热度

    3回答

    (后来的游客:两个答案对这个问题均可以得到出色的洞察力,如果你有兴趣,你也许应该阅读他们两个,我只除了一个为SO限制) 从我在网上找到的所有讨论在继续单子中,他们要么提到它如何与一些简单的例子一起使用,要么说明它是一个基本的构建块,正如这篇关于Mother of all monads is the continuation monad的文章。 我想知道在这个范围之外是否有适用性。我的意思是,在递归

    1热度

    1回答

    我与SICP一起工作,运动2.29-b让我有机会在穿越手机和分支时获得延续传球风格。 为了简化故事,每个手机都有左右分支,它们由长度和数字权重或其他手机组成。这个问题要求找到手机的总重量。 第一相互递归解决方案之后,很简单,我尝试并成功实施了CPS'之一: (defn total-weight-cps [mobile] (letfn [(branch-weight-cps

    0热度

    1回答

    我尝试将此代码转换为CPS形式: def sum (lst : List [ Int ]) : Int = lst match { case Nil => 0 case first :: rest => first + sum (rest) } def sumC1(lst : List [ Int ], k : Int => Unit) : Unit =

    4热度

    4回答

    type Interpreter<'a> = | RegularInterpreter of (int -> 'a) | StringInterpreter of (string -> 'a) let add<'a> (x: 'a) (y: 'a) (in_: Interpreter<'a>): 'a = match in_ with | RegularInterpre

    6热度

    2回答

    本书的第9章Expert F#3.0显示了如何在遍历二叉树时避免堆栈溢出时使用continuation-passing样式。我编写了与本书代码几乎相同的树遍历代码,但是我仍然遇到堆栈溢出问题。我的代码如下: type 'a Tree = | Leaf of 'a | Branch of 'a Tree * 'a Tree let rec mkLeftLeaningTree

    2热度

    3回答

    我试图实现Kosaraju的一个大图 算法作为转让的一部分[MOOC ALGO我斯坦福的Coursera] https://en.wikipedia.org/wiki/Kosaraju%27s_algorithm 当前的代码适用于一个小图,但我在运行时执行期间遇到堆栈溢出。 尽管已经阅读专家在F#网站上的相关章节,或其他可用的例子,所以,我还是不明白如何使用延续来解决这个问题 下面是通用的完整代码

    0热度

    1回答

    我试图让搜索栏通过我的数据库,并抓住所有的数字,包括用户将输入这2个随机数字。 2个连续的数字可以在字符串中的任何地方,然后它应该抓住整个字符串。我遇到的一个问题是表单在布局中(也许它并不重要,但我仍然想知道如何将布局放入控制器并将其包含在其他方法中),所以它不会有它自己的方法和表单本身,我试图路由到另一个视图与搜索结果出现。截至目前,这是我得到的错误:Missing argument 1 for

    3热度

    1回答

    我无法理解Scheme中收集器函数的使用。我正在使用“小小的Schemer”一书(Daniel P. Friedman和Matthias Felleisen)。一个有一些解释的综合例子将大量帮助我。使用收集器功能的功能的一个例子是下面的代码片断: (define identity (lambda (l col) (cond ((null? l) (col '()))