您现在的位置是:首页 > 文章详情

编程语言 nature 0.5 发布,首个可用版本

日期:2025-05-22点击:42

nature 是一款静态编译强类型语言,具有以下特征:

  • null 安全、泛型和联合类型的类型系统
  • 静态交叉编译,允许为目标机器生成可执行文件,无需依赖任何第三方组件
  • 带有增量垃圾回收的支持,支持自动垃圾回收(手动垃圾回收仍在设计中)
  • 内置数据结构,如列表、映射、集合和元组
  • 包和模块管理
  • 函数标签(正在设计中)、闭包、错误处理和协程
  • SSA、线性扫描寄存器分配、反射机制、汇编器和链接器

该项目近日发布了 0.5 版本。随着 0.5 版本的发布,nature 编程语言最初的设计目标已经完成,语法 API 基本稳定,在 1.0 版本之前不会有大幅的变化。

相较于上一个版本的变化

  • 基于hnes/libaco实现 coroutine ,并基于 coroutine 重构 runtime
  • GC 进一步完善,并完全支持 coroutine
  • 基于 coroutine 的错误处理重构,语法支持 try + catch
  • 集成libuv处理网络 IO
  • 支持 type interface
  • 泛型重构并完善
  • 编译 os 支持 darwin
  • 编译 arch 支持 arm64
  • 通过nature -h查看帮助
  • 放弃抢占式调度,采用协作式调度(抢占式调度需要做出巨大的牺牲)
  • LIR 增加 safepoint 辅助协作式调度
  • method 定义方式重构,采用 fn extend 的模式
  • 数组类型声明方式调整,使用[T;n]
  • cptr 更名为anyptrraw_ptr<T>更名为rawptr<T>
  • channel 和 select 支持
  • match 语法支持
  • 标准库增加 http/fs/io/mem/process/unsafe/co.mutex/os.signal
  • strings 标准库基于 fn extend 重构
  • 使用 fn main 作为入口
  • 取消 template,增加#linkid函数标签自定义链接器标识
  • 使用 testar 文件进行用例测试
  • 添加内置宏,例如@sizeof(T)
  • cmake 增加测试用例 test_runtime_debug,支持 runtime debug
  • 官网重构 及playground支持
  • lsp 支持nature-lang/nls

当前版本 nature 源码支持编译的目标平台有

  • linux/amd64
  • linux/arm64
  • darwin/amd64
  • darwin/arm64

nature 包含一组测试用例及标准库用来测试基本功能和语法的可用性,包含一组小型项目测试整体可用性,还未经过中大型的项目测试。

后续的核心工作是提升 nature 编程语言的可用性,包括标准库完善、性能优化、收集用户反馈以及 bug 修复。

安装包https://github.com/nature-lang/nature/releases

原文链接:https://www.oschina.net/news/351250/nature-0-5-0
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章