拥有具有历史和最小环境的 REPL 会很好。 我想我们可以重用 node.js 中的一些 url,比如“repl”模块:
const Repl = require('repl');
const repl = Repl.start({
prompt: 'assemblyscript> ',
useColors: true,
ignoreUndefined: true
});
repl.on('line', line => {
line = line.trim();
// try compile assemblyscript for this line here
});
由于我们在这里谈论的是一个静态编译器,它不能临时评估额外的行,看起来唯一可以做到的方法是保留输入的完整历史记录(丢弃无效输入)并用新行重新编译所有内容添加,包括任何变量赋值、函数调用等。这可能以某种方式工作,但我想知道由于编译时间延迟,它是否是一个很好的匹配。
我想这是可能的。 例如,Rust 为此提供了一些非官方的 crate。 像evcxr_repl和runner 。 另请参阅RFC 提案。
此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢你的贡献。