写点什么

Racket 6.5 改善了 Typed Racket,提供更快迭代并添加更多新功能

  • 2016-05-15
  • 本文字数:1135 字

    阅读完需:约 4 分钟

Ryan Culpepper 在 Racket 博客上宣布,属于Lisp/Scheme 家族的多范式编程语言Racket 已经发布了6.5 版本。这个新版本中添加了许多新功能,包括typed/untyped 代码之间交互的改进,对哈希表和集合更快的迭代以及更多内容。

Culpepper 提出,如前所述,Racket 6.5 加快了很多渐进类型程序中 typed/untyped 代码之间的交互速度。通过对 Typed Racket 和 racket/contract 库的改进产生较低开销的代码,实现了这个功能。

现在,当使用 in-hash, in-hash-pairs, in-mutable-hash 和in-mutable-set 函数时,哈希表和集合可以提供更快的迭代。根据Culpepper 所述,微基准测试显示现在迭代速度提高了最多100%。

另外,Racket 优化器检测到更多可优化机会,比如当变量始终用来保存数字的情况下,运行时检查可以省略。

Racket 6.5 的更多变更包括:

  • syntax-parse 一种用来编写宏命令和特定的语法的领域特定语言,产生更好的诊断结果。
  • Contracts 具有更好的覆盖率分析工具以及性能提升。
  • 添加了对 MySQL 中多结果语句的支持。

Racket 基于 LGPL 许可证发布,其官方 6.5 版本现在可以下载 tarball 或是在 GitHub 上下载。Racket设计目标之一便是为语言的创建、设计和实现提供一个平台。 Typed Racket 是 Racket 静态类型变更版本,支持 typed 和 untyped 代码可以共存的渐进类型范式。

InfoQ 采访了 Ryan Culpepper 有关于 Racket 6.5 发布的问题。

可以提供 Racket 6.5 中渐进类型改进的更多细节吗?你怎么评价它?

作为 Asumu Takikawa 研究工作的一部分,他开发了 typed/untyped 交互的度量框架。在 POPL
2016 一篇题为“渐进类型逐渐消失了吗? ”的论文中对此进行了描述。自那以后,Sam Tobin-Hochstadt 和其他人一起改进了 Typed Racket 的 contract 生成,Robby Findler 对 contract 库本身进行了改进,并使用度量框架来查看是否还有提升空间,以及测量改进后的效果。如果想了解更多,可以阅读 Takikawa 的文章。

你是 syntax-parse 的编写者。你可以向读者介绍一下它对 Racket 宏系统进行了什么改变以及它给编写宏命令提供了什么方便吗?

Syntax-parse 可以让宏命令编写者写出描述性、模块化的语法规范,包括上下文相关检查。它会自动生成无效使用宏命令的错误提示,宏命令编写者不必再为此烦恼。同时,与 syntax-case 相比它支持更多表达模式以及模板,它还提供了一个“属性”机制,可以让宏命令编写者整合一部分宏命令,根据语法规范生成代码。简言之:给编写好的、健壮的宏命令带来了方便。

查看英文原文 Racket 6.5 Brings Improved Typed Racket, Faster Iteration, and More


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-15 19:002164
用户头像

发布了 218 篇内容, 共 64.5 次阅读, 收获喜欢 75 次。

关注

评论

发布
暂无评论
发现更多内容

法线贴图可以实现什么样的3D效果

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

测试开发 | 人工智能时代的挑战与机遇:数据隐私保护探析

测吧(北京)科技有限公司

测试

测试开发 | 人工智能规则引擎:智能决策的引擎舵手

测吧(北京)科技有限公司

测试

强大的音频格式转换工具:dBpoweramp Music Converter 激活最新

胖墩儿不胖y

Mac软件 音频格式转换器 音频格式管理

Mac微软远程连接工具:Microsoft Remote Desktop for Mac中文破解版 支持M1

iMac小白

S3 调用次数减少 98% | 探索 OpenDAL RangeReader 的奥秘

Greptime 格睿科技

数据库 时序数据 OpenDAL

泛互联网行业A/B测试全解析:产品优化的创新之道

字节跳动数据平台

大数据 ab测试 企业号12月PK榜 对比试验 数字化增长

SpamSieve for mac(邮件过滤工具) v3.0.3完整激活版

mac

苹果mac Windows软件 SpamSieve 电子邮件过滤软件

源码补丁神器—patch-package

京东科技开发者

Navicat Premium 15 for Mac中文破解版:设计数据库的利器

iMac小白

【堡垒机小问答】堡垒机最早起源于哪里?是国外吗?

行云管家

云计算 网络安全 堡垒机 云堡垒机

3D 建模中的法线贴图解释

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

不可避免,制造企业要在供应链“韧性”上下苦功

用友BIP

数智采购

低代码技术特点揭秘:构建灵活安全的多租户数据生态

天津汇柏科技有限公司

低代码

测试开发 | 人工智能本体论(Ontology):赋予机器智慧的知识之源

测吧(北京)科技有限公司

测试

低代码搭建工程项目管理方案:实现高效智能的数字化管理

天津汇柏科技有限公司

低代码

PBR纹理贴图类型详解

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

TF-IDF算法是什么呢?

小齐写代码

测试开发 | 人工智能时代的挑战与机遇:数据隐私保护探析

测吧(北京)科技有限公司

测试

测试开发 | 人工智能时代的公平性与透明度:构建更公正智能未来

测吧(北京)科技有限公司

测试

Mint Blockchain:每一轮牛市都离不开资产协议标准的创新

NFT Research

blockchain NFT\ L2

大模型驱动的AI交互式数字人!

青否数字人

数字人

强大的视频修复软件:Aiseesoft Video Repair免激活最新版

mac大玩家j

Mac软件 视频处理工具 视频修复软件 视频管理

3D游戏角色建模纹理贴图处理

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

测试开发 | 人工智能时代的责任与法规:构建可持续智能发展框架

测吧(北京)科技有限公司

测试

实现AI数字人直播实时互动的详细教程!

青否数字人

数字人

华为云开发者日,让开发者成为产业发展的决定性力量

华为云开发者联盟

开发者 华为云 华为云开发者联盟 华为云开发者日

位移贴图、凹凸贴图和法线贴图之间的差异

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

AI数字人主播成电商直播标配!

青否数字人

数字人

“踩坑”经验分享:Swift语言落地实践

百度Geek说

ios swift 开发语言 企业号12月PK榜

跨境通讯

ctsxiyou

通信 通讯

Racket 6.5改善了Typed Racket,提供更快迭代并添加更多新功能_后端_Sergio De Simone_InfoQ精选文章