问题标签 [stackless]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Stackless Scala 和 Free Monads,完整示例
以下代码改编自一篇论文(RO Bjarnason,Stackless Scala With Free Monads)。
论文的标题指出了所提出的数据结构的总体目的——即在恒定堆栈空间中提供递归处理,并让用户以清晰的方式表达递归。
具体来说,我的目标是拥有一个单子结构,它可以在上升时基于恒定堆栈空间中的简单模式匹配对不可变的对树(二叉树)或列表(n-ary-tree)进行结构重写。
使用 Free 是如何实现重写的?
模式匹配器的钩子在哪里?- 模式匹配器在上升时必须暴露给每个完整的子树!
这可以在 for 块内完成吗?
[问题已编辑。]
jvm - 哪些 JVM 语言是无堆栈的?
JVM 上哪些图灵完备的语言实现不使用 JVM 堆栈作为调用堆栈?
(我问是因为我想在同一个线程中实现 Scala 和另一种语言之间的协程。)
python - Pypy 的无堆栈线程选项是否支持并行执行?
我正在阅读有关 PyPy 的无堆栈功能。我的问题很简单:这能绕过 GIL 吗?该页面说它允许以“大规模并发样式”进行编码。这是否也意味着大规模并行风格,利用多核?
binary-search-tree - Robson树遍历算法
任何人都可以解释树遍历的 Robson 算法吗?我无法理解算法的步骤是什么。
c++ - 恢复 ASIO 无堆栈协程
在 Clang 中玩了一点 Coroutine TS 的当前实现后,我偶然发现了 asio 无堆栈协程实现。它们被描述为One* Header 中的 Portable Stackless Coroutines。主要处理异步代码我也想尝试它们。
函数内的协程块main
应等待函数中产生的线程异步设置的结果foo
。但是,一旦线程设置了值,我不确定如何让执行在该点<1>
(yield
表达式之后)继续。
使用 Coroutine TS 我会调用coroutine_handle
,但boost::asio::coroutine
似乎不可调用。
这甚至可以使用boost::asio::coroutine
吗?
谢谢你的帮助
stackless - 有无堆栈和无堆的编程语言吗?
是否有一种既无堆栈又无堆的静态编译编程语言?
对于数据,这样的语言不会有内存分配的概念。相反,程序的内存需求将在编译时完全知道。
对于代码,不会有调用堆栈的概念。可能有函数,但它们会在每个调用站点内联。
我对具有某种实现形式的可移植语言或生成本机二进制文件的编译器特别感兴趣。