阿八博客
  • 100000+

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

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

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/ws/2019/0703/4925.html
ad-wrap">

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

更新说明 

相关文章