榆树中是否存在并行性?

dev1223

可以在Elm中编写并行代码吗?Elm是纯功能性的,因此不需要锁定。当然,我可以使用Javascript FFI,在此处生成工作程序并自行完成。但是,我希望这样做更加用户友好。

阿帕纳什卡

简短答案

不,目前不行。但是下一个版本(0.15)将提供处理Elm内部效果的新方法,因此您将需要减少使用端口+ JavaScript代码。因此,在下一个版本中,很有可能会在Elm内部产生工人。

更多背景

如果您喜欢冒险,请尝试阅读Elm上发表的论文(或更长的原始论文),这表明Elm使用的FRP原始风格非常适合细粒度并发。还有一种async构造可以使程序的一部分以更粗糙的方式单独运行。操作系统级别的线程(例如JS Webworkers)和并行性可能会对此提供支持。

Webworkers已有较早的实验社区内对并发当然有兴趣,但是JavaScript并没有提供任何出色的并发选择。

要阅读纸上的提示,请参阅elm-discuss邮件列表中的我帖子

如果您想了解有关信号和选择加入异步的更多信息,建议您尝试Elm上Evan的PLDI论文。从简介(1)到构建GUI(4)进行阅读。您可以跳过类型系统(3.2)和功能评估(3.3.1),这可以节省您一些时间。构建GUI(4)前后,大多数都是您已经知道的东西。图8可能是async关键字功能的最佳概览(请注意,当前的Elm编译器未实现async关键字)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章