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

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

内容简介: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 的签名会更加灵活

更新说明 


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

查看所有标签

猜你喜欢:

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

A Project Guide to UX Design

A Project Guide to UX Design

Russ Unger、Carolyn Chandler / New Riders Press / 2009-3-23 / USD 39.99

"If you are a young designer entering or contemplating entering the UX field this is a canonical book. If you are an organization that really needs to start grokking UX this book is also for you. " -......一起来看看 《A Project Guide to UX Design》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具