
Nim命令式编程语言0.17.0官方最新版是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nimrod从Lisp继承来的一个特殊特性--抽象语法树(AST)作为语言规范的一部分,可以用作创建领域特定语言的强大宏系统。
Nimrod 是一个编译型的具有垃圾收集的系统编程语言,有着极其卓越的生产/性能比。Nimrod 的设计集中在三个E上:即效率(efficiency)、表达能力(expressiveness)和优雅(elegance)。
Nim 0.17.0 发布了,Nim 是一种专注于性能,可移植性和表现力的系统编程语言。
此版本修复了 0.16.0 版本中最重要的回归,特别是内存管理器和通道错误已经修复。
语言方面也有很多重大改进,特别是在概念(concepts)方面投入大量的工作。请查看下面的更改日志,获取全面的更改列表。
影响向后兼容性的变更:
There are now two different HTTP response types, Response and AsyncResponse. AsyncResponse’s body accessor returns a Future[string]!
Due to this change you may need to add another await in your code.
httpclient.request now respects the maxRedirects option. Previously redirects were handled only by get and post procs.
The IO routines now raise EOFError for the “end of file” condition. EOFError is a subtype of IOError and so it’s easier to distinguish between “error during read” and “error due to EOF”.
A hash procedure has been added for cstring type in hashes module. Previously, hash of a cstring would be calculated as a hash of the pointer. Now the hash is calculated from the contents of the string, assumingcstring is a null-terminated string. Equal string and cstring values produce an equal hash value.
Macros accepting varargs arguments will now receive a node having the nkArgList node kind. Previous code expecting the node kind to be nkBracket may have to be updated.
memfiles.open now closes file handles/fds by default. Passing allowRemap=true to memfiles.open recovers the old behavior. The old behavior is only needed to call mapMem on the resulting MemFile.
posix.nim: For better C++ interop the field sa_sigaction*: proc (x: cint, y: var SigInfo, z: pointer) {.noconv.} was changed to sa_sigaction*: proc (x: cint, y: ptr SigInfo, z: pointer) {.noconv.}.
The compiler doesn’t infer effects for .base methods anymore. This means you need to annotate them with .gcsafe or similar to clearly declare upfront every implementation needs to fullfill these contracts.
system.getAst templateCall(x, y) now typechecks the templateCall properly. You need to patch your code accordingly.
macros.getType and macros.getTypeImpl for an enum will now return an AST that is the same as what is used to define an enum. Previously the AST returned had a repeated EnumTy node and was missing the initial pragma node (which is currently empty for an enum).
macros.getTypeImpl now correctly returns the implementation for a symbol of type tyGenericBody.
If the dispatcher parameter’s value used in multi method is nil, a NilError exception is raised. The old behavior was that the method would be a nop then.
posix.nim: the family of ntohs procs now takes unsigned integers instead of signed integers.
In Nim identifiers en-dash (Unicode point U+2013) is not an alias for the underscore anymore. Use underscores instead.
When the requiresInit pragma is applied to a record type, future versions of Nim will also require you to initialize all the fields of the type during object construction. For now, only a warning will be produced.
The Object construction syntax now performs a number of additional safety checks. When fields within case objects are initialiazed, the compiler will now demand that the respective discriminator field has a matching known compile-time value.
On posix, the results of waitForExit, peekExitCode, execCmd will return 128 + signal number if the application terminates via signal.
ospaths.getConfigDir now conforms to the XDG Base Directory specification on non-Windows OSs. It returns the value of the XDG_CONFIG_DIR environment variable if it is set, and returns the default configuration directory, “~/.config/”, otherwise.
Renamed the line info node parameter for newNimNode procedure.
The parsing rules of do changed.
妻中蜜3全cg存档
游戏工具 / 28KB
下载
1
SimplyCam DXF格式编辑器v2.4.0 绿色版
文件处理 / 2.0M
下载
2
csgo空格键连跳脚本绿色免费版
游戏工具 / 564KB
下载
3
LOL Dsx换肤小助手2016 最新过检测版
游戏工具 / 4KB
下载
4
免费的SQLite3数据管理工具(SQLiteSpy)v1.9.9绿色版
编程软件 / 1.9M
下载
5
魔兽7.2.5塞弗斯的秘密buff监控wa字符串
游戏工具 / 1KB
下载
6
我的世界矿物透视MOD1.6.4-1.8集合版本
游戏工具 / 889KB
下载
7
易控王文档加密软件v2017官方版绿色免费版
文件处理 / 46M
下载
8
DNF9周年第十套天空时装补丁
游戏工具 / 1.6M
下载
9
3456wg多选皮肤v10.6官方版
游戏工具 / 2.2M
下载
10
140.5M / 09-05
立即下载
76.4M / 03-25
立即下载
55M / 06-05
立即下载
237.9M / 04-13
立即下载
900.9M / 03-02
立即下载
96.2M / 07-06
立即下载
311.2M / 07-06
立即下载
335M / 07-06
立即下载
200M / 07-06
立即下载
413.8M / 07-06
立即下载
768.9M / 08-19
立即下载
484.7M / 09-27
立即下载
165.4M / 09-05
立即下载
131.8M / 04-13
立即下载
195.6M / 03-03
立即下载
45.6M / 09-08
立即下载
665.2M / 07-06
立即下载
2.84G / 07-06
立即下载
93M / 07-06
立即下载
338.3M / 07-06
立即下载
892.4M / 08-18
立即下载 312M / 07-30
立即下载 1.38G / 07-26
立即下载 109.8M / 06-03
立即下载 142M / 01-08
立即下载 1.2M / 11-23
立即下载 548.8M / 04-13
立即下载 1.6M / 04-13
立即下载 1.48G / 03-18
立即下载 646.6M / 03-03
立即下载 404M / 08-18
立即下载 110.5M / 09-05
立即下载 33.4M / 09-05
立即下载 60M / 04-29
立即下载 254M / 04-25
立即下载 659M / 04-23
立即下载 1M / 12-26
立即下载 253.4M / 12-08
立即下载 253M / 12-08
立即下载 1.19G / 11-16
立即下载 115.9M / 08-19
立即下载 488.3M / 06-04
立即下载 369M / 09-22
立即下载 181.5M / 09-22
立即下载 201.2M / 09-05
立即下载 248.9M / 12-08
立即下载 248.9M / 12-08
立即下载 100.6M / 03-06
立即下载 148.9M / 03-06
立即下载 1.12G / 07-06
立即下载 126.7M / 02-04
立即下载 1.76G / 09-22
立即下载 1.92G / 04-17
立即下载 201.5M / 04-13
立即下载 7.31G / 07-01
立即下载 94.3M / 07-06
立即下载 2.48G / 07-06
立即下载 7.63G / 07-06
立即下载 1M / 07-06
立即下载 778.1M / 07-06
立即下载 1.30G / 08-19
立即下载 72M / 07-06
立即下载 548.7M / 07-06
立即下载 1.00G / 07-06
立即下载 9.13G / 07-06
立即下载 126.2M / 07-06
立即下载 72M / 07-06
立即下载 105.1M / 07-06
立即下载 132M / 07-06
立即下载 132M / 07-06
立即下载