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

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Futhark 0.12.1 发布了。Futhark 是一个小型函数式编程语言,采用 Haskell 开发,使用静态类型、并行数据以及纯函数数组,它对编译器提前进行深度优化,通过 OpenCL 生成 GPU 代码。Futhark 并不是为图形编程而设...

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

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

此版本最主要的变化是用户不可见的内部改进,开发团队重写了内核并行性的内部表示,这与之前在 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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创业时, 我们在知乎聊什么?

创业时, 我们在知乎聊什么?

知乎 / 中信出版社 / 2014-1 / 42.00元

★前所未有的互联网出版实验,500万知友亲手甄选内容,知乎三年创业问答精华大集结 ★史上最真诚创业书,用互联网思维讲透创业的逻辑 ★在知乎,最强大互联网创业群体真实分享创业路上的荣耀与隐忧 ★从Idea到步入正轨,创业公司如何招人、做技术、卖产品、找融资、建团队、处理法务? 他们在知乎聊创业: 创新工场创始人李开复 天使投资人 徐小平 小米科技创始人 雷军......一起来看看 《创业时, 我们在知乎聊什么?》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具