![](/img/trans.png)
[英]Translating call/comp to equivalent CPS style in JS
我已經閱讀了很多關於如何將 call/cc 轉換為等效的 CPS 樣式的文章,並且已經了解了基本知識,但目前我不明白球拍如何通過 call/comp 執行轉換(又名 call-with-composable-continuation)並卡住了這里。 我首先做的是嘗試翻譯這段代碼:#lang rack ...
[英]Translating call/comp to equivalent CPS style in JS
我已經閱讀了很多關於如何將 call/cc 轉換為等效的 CPS 樣式的文章,並且已經了解了基本知識,但目前我不明白球拍如何通過 call/comp 執行轉換(又名 call-with-composable-continuation)並卡住了這里。 我首先做的是嘗試翻譯這段代碼:#lang rack ...
[英]early exiting a recursive procedure
觀看此視頻 (11:56) 它顯示了將列表中包含的數字相乘的遞歸過程這個想法是,如果列表包含零,則可以丟棄整個遞歸調用堆棧並返回 0 所以為了節省一些乘法它通過提前退出帶有定界延續的過程來實現我想在 Guile 方案中重現它,我寫了這段代碼 它正確地相乘,但如果我傳遞一個包含零的列表並跟蹤這樣的調用 ...
[英]early exit with shift and reset
試圖用 Guile 方案理解定界延續多虧了這個視頻,我設法掌握了香草 conts(電話/抄送)(太棒了) 現在我想轉到分隔的 conts 我有這個用 call/cc 提前退出的最小例子 好的,我可以運行它,我明白它的作用如何使用 shift 和 reset 編寫一段與此代碼等效的代碼? ...
[英]How to extract delimited continuation (reset/shift) for future use in Haskell?
以下是使用定界延續(重置/移位)的簡單示例: 它運作良好。 但是,我想將延續k提取為純 function 以供將來使用,而不僅僅是在 shift 中調用它。 例如,我希望test2可以返回k : 但 GHC 抱怨: 任何人都可以幫助我解決這個問題嗎? 謝謝。 ...
[英]How is Prolog `shift`/`reset` like other languages?
我在這里找到了 Haskell 中的移位重置分隔延續的示例: 這將: 執行alfa bravo 執行charlie 將x綁定到 1,從而執行zulu 1 從resetT的末尾掉下來,然后跳回到esc 1之后執行delta 將x綁定到 2,從而執行zulu 2 從resetT的末尾掉下來,然后跳回 ...
[英]How handler control stackframes are placed relative to each other in Koka?
我在這里有一個以下的 Koka 片段,我希望有人能解釋調用處理程序時堆棧框架會發生什么。 我試圖通過打印值和全局計數器使處理程序堆棧幀也可見,並且我在表達時脫糖了。 結果如下: 兩個“FOO_CTRL”處理程序幀現在如何位於原始 FN() 調用和 RET 處理程序之下? ...
[英]Examples of the difference between `prompt/control` and `shift/reset`
我不確定我是否理解分隔繼續運算符對prompt/control和reset/shift之間的區別。 我了解一些基本的使用示例,但在這些示例中,它們的行為是相同的。 我在 Dariusz Biernacki 和 Olivier Danvy 的“ On the Dynamic Extent of De ...
[英]Implementing the delimited continuation monad in JavaScript - `reset` idempotence bug
這是困難的一個。 我一直在嘗試編寫各種 monad,這是我在任何地方都找不到簡潔示例的唯一一個,因此我嘗試使用此測試套件(JS) 和此問題(Agda) 作為參考編寫自己的shift和reset . 特別是, 我遇到的問題是,當我通過多個reset測試中止時,我的實現失敗了: // ...
[英]What are the specifics about the continuations upon which Raku(do) relies?
在 1990 年代和 2000 年代,編程語言愛好者幾乎沒有討論過定界延續的話題。 它最近重新成為編程語言討論中的重要內容。 我希望有人至少可以權威地說明 Rakudo 的延續(與 Raku 相比)是否具有下面列出的六個特征中的每一個。 我多說一點關於列表之后我希望得到的那種答案。 從在線消息[1 ...
[英]How to discard a delimited continuation from within multiple nested functions?
我研究定界的延續,並且目前正在將其丟棄以達到類似於引發異常的效果。 這是導致我麻煩的原因: const structure = type => cons => { const f = (f, args) => ({["run" + type]: f, [S ...
[英]How to express delimited continuations with pure functions only?
我研究了Oleg的定界延續教程 : 由於延續基本上是功能,而reset / shift甚至都不是monad api的一部分,我想知道如何在沒有newtype和monad機制的情況下實現定界的延續。 到目前為止,這是我想出的: 我很確定這是錯誤的,如果不是,我不知道如何正確應 ...
[英]Nested delimited continuations transformations
我正在嘗試了解定界的延續,並且正在閱讀本文: http://community.schemewiki.org/?composable-continuations-tutorial 我發現此重置/移位轉換 例如,我嘗試對此表達式進行轉換(我認為append-map來自Racke ...
[英]Are continuations in Kotlin usable yet? Any examples available?
Kotlin有一個包裹用於延續 ,但它被標記為實驗性的。 除了API之外沒有其他文檔,也沒有我能找到的任何教程或示例。 有誰知道它是否已經可用? 它的用法是什么? ...
[英]Practical Delimited Continuations in C / x64 ASM
我看了一篇名為A Primer on Scheduling Fork-Join Parallelism with Work Stealing的論文 。 我想實現持續竊取,其中調用spawn后的其余代碼有資格被盜。 這是論文的代碼。 導入設計選擇是為竊賊線程提供哪個分支。 使用圖 ...
[英]Fibers / Coroutines vs Delimited Continuations
所以我在這里閱讀了一篇關於並發工作竊取雙端隊列的論文: http ://open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3872.pdf。 他們提到了“Child-Stealing vs Continuation Stealing”,他們說child-st ...
[英]Is there a programming language that natively supports delimited continuations?
我想知道一種原生支持分隔延續的編程語言。 我知道Scala曾經有過shift和reset ,但是那些被刪除了; 而且我也知道Seaside似乎有類似的東西,但Seaside是一個圖書館,據我所知,Smalltalk不支持分隔的延續。 那么,是否有支持這種延續的編程語言? 謝謝! ...
[英]What does a continuation return in Scheme?
我遇到了一些我無法理解的東西。 到現在為止還挺好; (* 10 [])的延續存儲在cc ,如果我們調用(cc 100)我們會按預期在REPL中看到1000 。 但我接下來嘗試的是將變量定義為運行延續的結果: 我在REPL中看到200是結果,但x沒有定義。 存儲在cc ...
[英]How does `get` work in the CPS version of the State monad?
我試圖在本教程后繼續理解延續。 但是,我很難理解2.10節中的以下示例: 我認為state是int類型。 我沒有得到的是k的類型。 根據我的理解, k捕獲隨后在get ()之后的所有計算,並且因為我們討論的是狀態monad,所以k是合理的,表示將通過取一個int繼續的計算,因此 ...
[英]Cont monad shift
在嘗試為ContT monad變換器構建一些直覺時,我(也許不出所料)發現自己很困惑。 問題在於shiftT操作似乎沒有做任何有用的事情。 首先是一個如何使用它的簡單例子 famr a可能是一些更復雜的表達,只要它返回一些mr 。 現在試圖解釋我對shiftT的直覺並沒有增加任 ...
[英]Understanding shift/reset in Racket
我在球拍中展示了foldr兩個幼稚的實現 第一個缺少適當的尾調用並且對於xs大值是有問題的 第二個使用帶有延續的輔助函數來實現適當的尾調用,使其可安全地用於較大的xs值 看着racket/control我看到球拍支持一流的延續。 我想知道使用shift和reset表達foldr的第二個實現是 ...