今年9月份,Nim中文官网上线!大家可以通过https://nim-lang-cn.org 来访问。
Nim是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nim从Lisp继承来的一个特殊特性--抽象语法树(AST)作为语言规范的一部分,可以用作创建领域特定语言的强大宏系统 。
Nim是一个编译型的具有垃圾收集的系统编程语言,有着极其卓越的生产/性能比。Nim的设计集中在三个E上:即效率(efficiency)、表达能力(expressiveness)和优雅(elegance)。
现在Nim 团队很高兴为大家带来 1.0.4 版本发布的消息,这是在 Nim 1.0.0 之后发布的第二个补丁版本。
想要了解更多关于 1.0.0 版本的细节,可以查看我们两个月前 版本发布说明。
距离前一个版本的发布尽管只是过去了一个月的时间,但这次的版本已经包含了超过 70 次新的提交, 新修复了 20 个问题,让我们的 1.0 版本变成了更好的样子。
安装 1.0.4
如果你已经用 choosenim 安装了之前版本的 Nim ,升级到 Nim 的 1.0.4 版本会非常简单:
$choosenim update stable
如果你还没有安装 choosenim ,你可以通过 这些说明 来下载和安装 choosenim,当然你也可以按照我们的 安装 页面直接安装。
更新日志
你可以 在我们的 GitHub 仓库中 查阅此版本的变更日志以及 Nim 的其余源码。
附《更新日志》
语言层面的变更
模仿早期版本的 Nim ,在运行时取消了对无符号整数转换的检查。文档中已针对这一改进做出了说明。查看 https://github.com/nim-lang/RFCs/issues/175 了解更多细节 (#12688)
添加了 or detectOs(Manjaro),这样当检测到系统为 Manjaro 时,调用原生的包管理器会使用 pacman 进行包管理 (#12587)
--os:ios 编译指令现在也代表了 macosx (#12585)
导出了 nim.cfg 解析器,现在其他工具也可以调用 readConfigFile 了 (#12602)
BUG 修复
修复了 “在 OSX 上多次调用后,gorgeEx() 失败”的问题 (#12337)
优化和加强了 posix 模块 (#10723)
修复了 “Nim 的语法检查 允许使用 gorgeEx(),但不允许 writeFile()” 的问题,现在这两个都被提示 don’t run staticExec for ‘nim suggest 了 (#12491)
修复了 “一个算数的低级错误: -3 mod 7 == 3” (#12514)
修复了 “后端集成文档中 c2nim 链接失效” 的问题(#12537)
修复了 “具有默认值的泛型参数会导致不正确的泛型类型解析” 的问题 (#12528)
修复了 “再次出现的问题: compiler/vmgen.nim(354, 20) false leaking temporary 10 slotTempInt [AssertionError] (#12547)
修复了 “Windows 上的 64 位(只有在 64 位上有问题) nim 编译/链接断开” (#12536)
修复了 “除了最新的 devel 版本No =destroy for elements of closure environments other than for latest devel –gc:destructors” (#12577)
修复了 “[1.0.0] 无法使用 –cpu:avr 进行编译” (#12395)
修复了 “使用无效的对象变体会导致编译器崩溃” (#12379)
修复了 “import 之前写的编译指示会被静默忽略” (#5050)
修复了 “ strformat + asyncdispatch + const 同时使用会报错” 的问题 (#12612)
修复了 “--nimblePath 是附加的,需要一个无痛的解决方案” (#12601)
修复了 “nim.cfg 中 –define:FOO:VAL 的语法没有文档或者缺失” (#12367)
修复了 “使用宏生成的 vm 字符串无法正常使用” (#12670)
修复了 “staticRead() 引入的静态文件变更时,会强制触发重新编译。” (#12663)
修复了终止处理程序中调用 throw 引发的崩溃 (#12572)
修复了用于 具有字符串字段的对象 的 newLit (#12542)
文档更新
给 Math 模块添加了文档 (#12460)
修复了许多无效的链接,尽量将链接替换为了链接到文档内部 (#12463)
sequtils:在示例中替换掉了已经遗弃的 ‘random’ 用法 (#12515)
给整型添加了文档 (#12513)
修复了代码风格的错误 (#12545)
修正文档和注释中的几个错误 (#12553)
添加文档以更好地区分 getProjectPath, getCurrentDir 和 currentSourcePath (#12565)
doc/tut3.rst: 修复了介绍中的错别字 (#12607)
添加了指向 packaging 和 distro 页面的链接 (#12603)
修复了 $*(dt: DateTime) 的说明 (#12660)
在 manual.rst 中对 experimental / parallel 加入了示例以明确区别 (#12472)
修复手册中错误的章节层级关系 (#12724)