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 '()))