您现在的位置是:首页 > 文章详情

Futhark 0.12.1 发布,Haskell 写的小型函数式编程语言

日期:2019-08-24点击:423

Futhark 0.12.1 发布了。Futhark 是一个小型函数式编程语言,采用 Haskell 开发,使用静态类型、并行数据以及纯函数数组,它对编译器提前进行深度优化,通过 OpenCL 生成 GPU 代码。Futhark 并不是为图形编程而设计的,通过使用 GPU 来加速并行的数组计算,支持常规嵌套的数据并行化处理。

此版本最主要的变化是用户不可见的内部改进,开发团队重写了内核并行性的内部表示,这与之前在 PPoPP'19 论文中提出的内容非常相似,其目的是使应用程序并行性与 GPU 并行性的复杂映射更加清晰。

Futhark 最初是一种非常严肃的语言,它具有完全单态的特性,几乎没有任何模式匹配,并且完全是一阶的(尽管有一些语法糖试图模仿二阶函数)。这是因为 Futhark 的主要编译目标(GPU)是一个十分苛刻的环境,开发团队不想支持任何无法有效编译的功能。

随着时间的推移,这些限制减少了:

  • 2016 年年底增加了一个高阶模块系统。
  • 2017 年新增了 Records。
  • 在 0.4 版本中加入了高阶函数和参数多态性。

除了递归之外,Futhark 还缺少另一个函数式语言共有的特性,即聚合类型(sum type,或者称为代数数据类型),这意味着诸如选项和任何类型等函数式编程语言最典型的特性都无法在 Futhark 中表达,其它类型的枚举必须使用整数进行编码。大多数函数式语言都通过指针结构实现聚合类型,这对于 Futhark 来说是不行的。

此版本即解决了该问题,具体方案查看:

https://futhark-lang.org/blog/2019-08-21-futhark-0.12.1-released.html

原文链接:https://www.oschina.net/news/109324/futhark-0-12-1-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章