我读过富希基说过的地方:
我对clojure不熟悉。
1. Clojure是否有延续?
2.如果没有,您是否不需要继续?我看到了很多很好的例子,尤其是从this guy。有什么选择?
3.如果是,是否有文档?
最佳答案
在谈论延续时,您必须区分两种不同的延续:
例子:
-- Standard function
double :: Int -> Int
double x = 2 * x
-- CPS-function – We pass the continuation explicitly
doubleCPS :: Int -> (Int -> res) -> res
doubleCPS x cont = cont (2 * x)
; Call
print (double 2)
; Call CPS: Continue execution with specified anonymous function
double 2 (\res -> print res)
在Wikipedia上阅读continuation。
我认为,对于一种好的语言而言,延续不是必需的,但是尤其是像Haskell这样的功能语言中的一流延续和CPS可能会非常有用(intelligent backtracking example)。
关于functional-programming - Clojure的延续,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1173133/