Elixir和延续传递风格

问题描述 投票:0回答:1

Elixir有没有像Scheme的call-with-current-continuation?有没有办法捕获等待堆栈帧并将其存储在变量中供以后使用?

elixir continuations
1个回答
1
投票

Erlang / Elixir没有您在Scheme类语言中找到的经典调用/ cc。

但是,您可以在Elixir中编写CPS样式的代码。您可以捕获函数中的当前闭包并传递它,并以这种方式手动切片计算。

编辑:我刚刚在CPS风格中实现了ANF转换[1]。它可能是灵感。

[1] https://gist.github.com/m1dnight/053494cdc35b89af6fe0b3b63283abd0

© www.soinside.com 2019 - 2024. All rights reserved.