Javascript 是否可以将Scala编译(传输)到浏览器,从而保持动态解释用户提供的Scala代码的能力?

Javascript 是否可以将Scala编译(传输)到浏览器,从而保持动态解释用户提供的Scala代码的能力?,javascript,scala,reflection,scala.js,transpiler,Javascript,Scala,Reflection,Scala.js,Transpiler,我知道Scala.js可以传输到js,但它不支持反射。 是否有任何方法可以解释用户提供的Scala代码而不必重复到服务器端 如果无法以这种方式解释Scala,是否可以从Scala代码(即将传输的Scala代码)运行用户提供的JavaScript代码?对于第一个问题:不,这是不可能的。Scala编译器无法编译为JavaScript,原因有很多,这使得无法在浏览器中编译用户提供的代码 对于第二个问题:是的,使用js.eval(dynamicjsodestring)。有关评估和安全的标准警告适用于第一

我知道Scala.js可以传输到js,但它不支持反射。 是否有任何方法可以解释用户提供的Scala代码而不必重复到服务器端


如果无法以这种方式解释Scala,是否可以从Scala代码(即将传输的Scala代码)运行用户提供的JavaScript代码?

对于第一个问题:不,这是不可能的。Scala编译器无法编译为JavaScript,原因有很多,这使得无法在浏览器中编译用户提供的代码


对于第二个问题:是的,使用
js.eval(dynamicjsodestring)
。有关评估和安全的标准警告适用于第一个问题:不,这是不可能的。Scala编译器无法编译为JavaScript,原因有很多,这使得无法在浏览器中编译用户提供的代码


对于第二个问题:是的,使用
js.eval(dynamicjsodestring)
。关于评估和安全的标准警告适用于第一个问题:是的,这是绝对可能的。您只需要用ECMAScript或ECMAScript编译器所在的语言(例如TypeScript、CoffeeScript、Python、Ruby、Kotlin,当然还有Scala)编写Scala解释器,或者在一种有解释器的语言中使用ECMAScript编写,或者在一种有ECMAScript编译器的语言中使用……当然,您也可以链接这些方法。

对于第一个问题:是的,这是绝对可能的。您只需要用ECMAScript或ECMAScript编译器所在的语言(例如TypeScript、CoffeeScript、Python、Ruby、Kotlin,当然还有Scala)编写Scala解释器,或者使用一种存在解释器的语言,该语言是用ECMAScript编写的,或者使用一种存在ECMAScript编译器的语言编写的……当然,您也可以链接这些方法。

您的最终目标是什么?您真的需要评估用户提供的任意代码吗?首先,只需要一些原语,如数学运算和打印。函数定义,可能还有列表操作……创建自己的简约语言并编写自己的解析器和解释器是否可行?实际上,所有这些都是为了让一种嵌入某种形式的“本机”代码的简约语言能够做一些事情。这是由于极端简约的方法:每个功能都来自宿主语言(作为库)。您的最终目标是什么?您真的需要评估用户提供的任意代码吗?首先,只需要一些原语,如数学运算和打印。函数定义,可能还有列表操作……创建自己的简约语言并编写自己的解析器和解释器是否可行?实际上,所有这些都是为了让一种嵌入某种形式的“本机”代码的简约语言能够做一些事情。这是由于极端简约的方法:每个功能都来自宿主语言(作为库)。