Nim v2.0 正式发布,命令式编程语言

Nim v2.0 已正式发布,这是一门指令式、通用、多范式、静态类型、编译型的编程语言。

公告写道:

2.0 是 Nim 的一次进化,新版本的一项重要特性是将 ORC 内存管理作为认设置,以及许多其他新功能和改进。

Nim 是一种适合各种用途的编程语言——但并不适合所有人。它专注于命令式编程范式,通过宏系统对其进行增强。其可定制的内存管理使其非常适合要求苛刻的领域,例如硬实时系统和通用系统编程。

Nim 2 主要新特性

认内存策略变更为:--mm:orc

具体示例查看:A cost model for Nim 或 Introduction to ARC/ORC in Nim。

增强与 C++ 的互操作

Nim 2.0 通过新的虚拟编译指示和扩展构造函数编译指示将 C++ 互操作提升到了一个新的水平。

现在,开发者可以定义映射到 C++ 构造函数和虚拟方法的构造函数和虚拟过程,从而允许进一步自定义互操作性。此外还扩展了对 codeGenDecl pragma 的支持,以便它适用于类型。

新的标准库模块 (standard library modules)

新版对著名的os模块进行了彻底修改。其部分功能可在引入Path抽象的新界面下使用。Path是distinct string,它提高了处理路径、文件和目录时的类型安全性。

增加可重载的枚举 (Overloadable enums)

可重载枚举已结束实验性阶段,使用示例:

type

E1 = enum

value1,value2

E2 = enum

value1,value2 = 4

const

Lookuptable = [

E1.value1: "1",

value2: "2"

]

Strict funcs(严格函数

“strict funcs” 已达到稳定状态,在未来的版本中将会成为认选项。

用于对象的认值

对象声明字段中现在支持使用认值:

type

Rational* = object

num: int = 0

den: int = 1

var r = Rational()

assert $r == "(num: 0,den: 1)"

引入 Unicode 运算符

Nim 2 会认启用--experimental:unicodeOperators:诸如⊗或∘的 Unicode 运算符支持被数学库使用。请注意,标准库不使用 Unicode 运算符。

相关文章

IT之家 10 月 31 日消息,苹果公司面向数据科学家、3D 艺术家...
鞭牛士 10月30日消息,被戏称为“中国AI教父”的网络红人李一...
IT之家 10 月 31 日消息,Meta 首席执行官马克・扎克伯格在第...
IT之家 10 月 31 日消息,当地时间 30 日,OpenAI 宣布,为了...
据路透社报道,OpenAI 正在与 博通(Broadcom)合作开发其 首...
IT之家 10 月 31 日消息,OpenAI 今日宣布,ChatGPT 的高级语...