在浏览器中构建一个scala解释器

Son*_*123 5 scala

我与Scala的第一次接触是通过SimplyScala教程:您不需要安装任何东西,只需开始编码即可.几个小时后我爱上了这门语言......

多年以后,我为Scala库编写了一个Web文档作为Play应用程序.构建像SimplyScala这样的东西并将其集成到文档中会很酷,这样用户就可以在浏览器中输入Scala命令并获得结果.

SimplyScala就像Google App Engine上的LotREPLS(只有少数LOC的旧开源Java项目).

也可以在我自己的服务器上创建这样的东西而不会出现安全漏洞(例如,用户不应该从服务器读取文件......)?

我只需要Scala语言的"基础"而不需要像SimplyScala那样的任何导入.

我的第一个想法是编写一个自己的SecurityManager并处理超时,这样用户就不会消耗太多的服务器时间.有没有更简单的方法或现有的开源项目?

或者建议用户安装Scala并使用终端而不是浏览器更合理?;-)

在Scala主页上是一个类似于Play of the 2012夏季代码Scala项目的想法:但我找不到任何结果.

sjr*_*jrd 7

可能是最安全的,到目前为止是http://www.scala-js-fiddle.com/(GitHub上的代码的),因为它甚至没有在服务器上运行的代码,但在客户端上!

问题是:它不是真正的Scala代码,它是Scala.js,它是Scala的方言,仍然是实验性的等等.但它可能足以满足您的用例.


Son*_*123 6

回答我自己的问题:

Scala控制台,不关心安全性(?):

一个处理某种安全性的Web界面:

令人印象深刻的Scalakata项目,Source在GitHub上.

这是一个Lift项目,它定义了一个自己的安全管理器(请参阅src/main/scala/com.github.masseguillaume/security参考资料)并处理超时(请参阅参考资料src/main/scala/com.github.masseguillaume/service/KateEval.scala).现在我要思考,如果这足够安全......