Janet 1.0.0 发布,给语言带来一些变化

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

内容简介:Janet 1.0.0 发布了,Janet 是一个命令式与函数式编程语言,同时也是一个字节码解释器,它是一个现代的 Lisp,但是列表替换为其它数据结构,包括数组、表、结构与元组,具有更好的实用性和性能。 该语言还支持桥接...

Janet 1.0.0 发布了,Janet 是一个命令式与函数式编程语言,同时也是一个字节码解释器,它是一个现代的 Lisp,但是列表替换为其它数据结构,包括数组、表、结构与元组,具有更好的实用性和性能。

该语言还支持桥接到用 C 编写的原生代码、宏元编程和字节码汇编。Janet 还提供了 REPL 环境,以及运行脚本文件的能力。Janet 客户端程序与核心运行时分开,因此可以嵌入到其它程序中。

新版做了一些更改,包括 propagate 函数、改进的 meson build、更好用的解析器 API、更好用的 os/execute API、封送和解封 PEGs 的能力等等。

新版更改:

  • 对资源处理添加宏指令
  • 新增 propagate  函数,这样就可以在信号被拦截后“重新抛出”信号,使得信号更加灵活
  • 在 Janetcon.h 头文件中添加的 Janet_NO_DOCSTRINGS 和 Janet_NO_SOURCEMAPS,用于缩小二进制文件大小
  • 更新模块系统以允许相对导入。module/expand-path 中的 :cur:模式将展开到当前文件的目录部分,:dir:模式能获取目录的部分输入路径名
  • 删除 module/paths 中的 :native:
  • 新增 module/expand-path
  • 删除 module/*syspath* 和 module/*headerpath*,以支持动态绑定 :syspath 和 :headerpath
  • 编译后的 pegs 现可以封送和解封
  • 将签名更改为 parser/state
  • 在循环中添加 :until
  • 在 fiber/new 中添加 :p 标签
  • 新增 file/{fdopen,fileno} 函数
  • 新增 parser/clone 功能
  • 新增可选参数到 parser/where 以设置解析器字节索引
  •  在 all-bingdings 和 all-dynamics 中添加可选参数 env

  • 在下一个 GC 的为自动释放内存添加暂存器 C API 函数,暂存器不同于普通的 gced 内存,因为它也可以正常释放,以获得更好的性能

  • 为模块添加 API 兼容性检查,这将使本机模块在主机程序不具有兼容版本或配置时不加载

  • 更改 os/Execute 的签名会更加灵活

更新说明 


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

查看所有标签

猜你喜欢:

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

注意力商人

注意力商人

吳修銘 / 黃庭敏 / 天下雜誌 / 2018-4-2 / NT$650

電子郵件,免費!照片分享,無上限! 你是否想過,隨手可得的免費內容、便利的免費服務,到底都是誰在付費? 如果商品免費,那你就不是消費者,而是商品! 你我可能都不知不覺地把自己賣給了注意力商人! 「『媒體轉型、網路演化與資訊浪潮」此一主題最具洞見的作者。』──黃哲斌(資深媒體人) 「這是少有的關注產業發展的傳播史,對現在或未來的『注意力產業』」中人來說,不可不讀。」──......一起来看看 《注意力商人》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具