cost 373 ms
在 JS 中將 call/comp 轉換為等效的 CPS 樣式

[英]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 編寫一段與此代碼等效的代碼? ...

如何提取定界延續(重置/移位)以供將來在 Haskell 中使用?

[英]How to extract delimited continuation (reset/shift) for future use in Haskell?

以下是使用定界延續(重置/移位)的簡單示例: 它運作良好。 但是,我想將延續k提取為純 function 以供將來使用,而不僅僅是在 shift 中調用它。 例如,我希望test2可以返回k : 但 GHC 抱怨: 任何人都可以幫助我解決這個問題嗎? 謝謝。 ...

Prolog `shift`/`reset` 與其他語言有何不同?

[英]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的末尾掉下來,然后跳回 ...

處理程序控制堆棧框架如何在 Koka 中相對放置?

[英]How handler control stackframes are placed relative to each other in Koka?

我在這里有一個以下的 Koka 片段,我希望有人能解釋調用處理程序時堆棧框架會發生什么。 我試圖通過打印值和全局計數器使處理程序堆棧幀也可見,並且我在表達時脫糖了。 結果如下: 兩個“FOO_CTRL”處理程序幀現在如何位於原始 FN() 調用和 RET 處理程序之下? ...

`prompt/control` 和 `shift/reset` 之間的區別示例

[英]Examples of the difference between `prompt/control` and `shift/reset`

我不確定我是否理解分隔繼續運算符對prompt/control和reset/shift之間的區別。 我了解一些基本的使用示例,但在這些示例中,它們的行為是相同的。 我在 Dariusz Biernacki 和 Olivier Danvy 的“ On the Dynamic Extent of De ...

在 JavaScript 中實現分隔的延續 monad - `reset` 冪等性錯誤

[英]Implementing the delimited continuation monad in JavaScript - `reset` idempotence bug

這是困難的一個。 我一直在嘗試編寫各種 monad,這是我在任何地方都找不到簡潔示例的唯一一個,因此我嘗試使用此測試套件(JS) 和此問題(Agda) 作為參考編寫自己的shift和reset . 特別是, 我遇到的問題是,當我通過多個reset測試中止時,我的實現失敗了: // ...

Raku(do) 所依賴的延續的具體細節是什么?

[英]What are the specifics about the continuations upon which Raku(do) relies?

在 1990 年代和 2000 年代,編程語言愛好者幾乎沒有討論過定界延續的話題。 它最近重新成為編程語言討論中的重要內容。 我希望有人至少可以權威地說明 Rakudo 的延續(與 Raku 相比)是否具有下面列出的六個特征中的每一個。 我多說一點關於列表之后我希望得到的那種答案。 從在線消息[1 ...

如何只用純函數表達定界的延續?

[英]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 ...

C / x64 ASM中實際划分的延續

[英]Practical Delimited Continuations in C / x64 ASM

我看了一篇名為A Primer on Scheduling Fork-Join Parallelism with Work Stealing的論文 。 我想實現持續竊取,其中調用spawn后的其余代碼有資格被盜。 這是論文的代碼。 導入設計選擇是為竊賊線程提供哪個分支。 使用圖 ...

是否有一種原生支持分隔延續的編程語言?

[英]Is there a programming language that natively supports delimited continuations?

我想知道一種原生支持分隔延續的編程語言。 我知道Scala曾經有過shift和reset ,但是那些被刪除了; 而且我也知道Seaside似乎有類似的東西,但Seaside是一個圖書館,據我所知,Smalltalk不支持分隔的延續。 那么,是否有支持這種延續的編程語言? 謝謝! ...

Scheme中的延續返回是什么?

[英]What does a continuation return in Scheme?

我遇到了一些我無法理解的東西。 到現在為止還挺好; (* 10 [])的延續存儲在cc ,如果我們調用(cc 100)我們會按預期在REPL中看到1000 。 但我接下來嘗試的是將變量定義為運行延續的結果: 我在REPL中看到200是結果,但x沒有定義。 存儲在cc ...

`get`如何在State monad的CPS版本中工作?

[英]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

[英]Cont monad shift

在嘗試為ContT monad變換器構建一些直覺時,我(也許不出所料)發現自己很困惑。 問題在於shiftT操作似乎沒有做任何有用的事情。 首先是一個如何使用它的簡單例子 famr a可能是一些更復雜的表達,只要它返回一些mr 。 現在試圖解釋我對shiftT的直覺並沒有增加任 ...

了解 Racket 中的移位/重置

[英]Understanding shift/reset in Racket

我在球拍中展示了foldr兩個幼稚的實現 第一個缺少適當的尾調用並且對於xs大值是有問題的 第二個使用帶有延續的輔助函數來實現適當的尾調用,使其可安全地用於較大的xs值 看着racket/control我看到球拍支持一流的延續。 我想知道使用shift和reset表達foldr的第二個實現是 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM