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 还缺少另一个函数式语言共有的特性,即聚合类型(sum type,或者称为代数数据类型),这意味着诸如选项和任何类型等函数式编程语言最典型的特性都无法在 Futhark 中表达,其它类型的枚举必须使用整数进行编码。大多数函数式语言都通过指针结构实现聚合类型,这对于 Futhark 来说是不行的。
此版本即解决了该问题,具体方案查看:
https://futhark-lang.org/blog/2019-08-21-futhark-0.12.1-released.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ProxySQL 2.0.6 发布,MySQL 高性能代理
ProxySQL 是一个高性能的代理,目前用于 MySQL生 态系统中的 MySQL 和数据库服务器(比如用于 MySQL 和 MariaDB 的 Percona Server),它充当从数据库中寻找资源的客户端请求的中介。2.0.6 版本已经发布,它引入了许多新特性和增强功能,并修复了一些 bug,自从上一个版本以来,proxysql-admin 工具没有改变。具体如下: 支持获取锁的 SELECT 语句 2.0.5 版本只支持 SELECT FOR UPDATE ,现在是支持: SELECT ... FOR SHARE SELECT ... LOCK IN SHARE MODE SELECT ... FOR (UPDATE|SHARE) [OF ...] (NOWAIT|SKIP LOCKED) 拒绝具有未知字符集的连接 proxysql --version 现在打印到 stdout 而不是 stderr 添加对 com_field_list 命令的支持 如果 select 语句在多语句命令中使用,或者如果 select 语句的解析不成功,则将禁用多路复用和查询路由,客户端仍然绑定...
- 下一篇
San 3.7.8 发布,百度开源的 MVVM 组件框架
San 3.7.8 发布了,San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【新特性】- 事件声明支持 stop modifier,阻止事件冒泡 【新特性】- 事件声明支持 prevent modifier,阻止事件默认行为 【新特性】- 表达式支持 null 【优化】- 删除组件根元素 class 属性的最前方可能出现的空格 【bug修复】- for 指令内部无任何数据引用时,视图更新可能出错 更新说明及下载地址
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用