Futhark 0.12.1 发布,Haskell 写的小型函数式编程语言
Futhark 0.12.1 发布了。Futhark 是一个小型函数式编程语言,采用Haskell 开发,使用静态类型、并行数据以及纯函数数组,它对编译器提前进行深度优化,通过OpenCL生成 GPU 代码。Futhark 并不是为图形编程而设计的,通过使用 GPU 来加速并行的数组计算,支持常规嵌套的数据并行化处理。 此版本最主要的变化是用户不可见的内部改进,开发团队重写了内核并行性的内部表示,这与之前在 PPoPP'19 论文中提出的内容非常相似,其目的是使应用程序并行性与 GPU 并行性的复杂映射更加清晰。 Futhark 最初是一种非常严肃的语言,它具有完全单态的特性,几乎没有任何模式匹配,并且完全是一阶的(尽管有一些语法糖试图模仿二阶函数)。这是因为 Futhark 的主要编译目标(GPU)是一个十分苛刻的环境,开发团队不想支持任何无法有效编译的功能。 随着时间的推移,这些限制减少了: 2016 年年底增加了一个高阶模块系统。 2017 年新增了 Records。 在 0.4 版本中加入了高阶函数和参数多态性。 除了递归之外,Futhark 还缺少另一个函数式语言共有的特性,...