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 的签名会更加灵活

更新说明 


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

查看所有标签

猜你喜欢:

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

人类思维如何与互联网共同进化

人类思维如何与互联网共同进化

[美] 约翰·布罗克曼 / 付晓光 / 浙江人民出版社 / 2017-3 / 79.90元

➢人类是否因互联网的诞生进入了公平竞争的场域? “黑天鹅事件”频频发生,我们的预测能力是否正在退化? 智人的第四阶段有哪些特征? 全球脑会使人类成为“超级英雄”吗? 虚拟现实技术会不会灭绝人类的真实体验? 还有更多不可预知答案的问题,你将在本书中找到属于自己的答案! ➢ 我们的心智正和互联网发生着永无止境的共振,人类思维会因此产生怎样的进化效应?本书编者约翰•布......一起来看看 《人类思维如何与互联网共同进化》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

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

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具