Scala新手在這裏,我剛剛下載了Eclipse 3.6.2和Scala IDE 2.0.0-beta4(與Scala 2.9.0.final)。我創建了一個新的Scala的項目,試圖分隔的延續: package delimCCTests
import scala.util.continuations._
object Test extends App {
val result
我意識到這與通常的SO問題意識相反,但即使我認爲它不起作用,以下代碼仍然有效。下面是一個小的Scala程序,它使用帶有while循環的延續。根據我對繼續傳遞樣式的理解,此代碼應該通過爲while循環的每次迭代添加一個幀到堆棧來產生堆棧溢出錯誤。但是,它工作得很好。 import util.continuations.{shift, reset}
class InfiniteCounter e
假設,有一個reset塊用單shift: val r = reset {
// do smth. 1
shift {...}
// do smth. 2
// do smth. 3
} 它是正確的,我把經過「做未便2」或「做3水木清華」的shift不改變結果r? shift代表reset區塊在哪裏並不重要?
是否有人使用分隔繼承來進行Haskell開發,尤其是Web開發?我覺得這個話題令人着迷,我需要比我一直在研究的東西更容易訪問的東西。 這裏是我到目前爲止發現的資源: Shift To Control The Haskell Wiki Page on Delimited Continuations A Monadic Framework for Delimited Continuations The
我基本上遵循Scala API page for delimited continuations給出的例子。下面的代碼工作正常: import scala.util.continuations._
import scala.collection.mutable.HashMap
val sessions = new HashMap[Int, Int=>Unit]
def ask(prompt
我試圖瞭解下面這個tutorial的延續。 然而,我有困難,瞭解在節2.10以下示例: # let get() =
shift (fun k -> fun state -> k state state) ;;
get : unit => ’a = <fun>
state是int我想類型。我沒有得到的是k的類型。按照我的理解,k捕獲所有計算get()後說到後來,因爲我們正在談論的狀態
我試圖建立一個協同框架,通過並行地逐步通過每個數據相關功能來啓用批量數據獲取。以下是我迄今爲止:http://pastie.org/7147798 這不起作用 def get(id: Long) = reset {
// Is it not already cached?
if (!cached.isDefinedAt(id)) {
// Store the ID w