Nim 1.2.0 發布

新版本的 Nim 系統程式語言已經發布。 它與 1.0 版本部分不相容,例如由於更嚴格的類型轉換。 但在本例中,有一個標誌 -useVersion:1.0。

主要創新是新的垃圾收集器,由 -gc:arc 選項啟用。 該語言的作者 Andreas Rumpf 將撰寫一篇關於 ARC 優點的詳細文章,但現在他邀請您閱讀 以及他在 FOSDEM 的表現,顯示基準測試結果。

  • 編譯器現在支援 --asm 選項,以便更方便地檢查產生的彙編程式碼。
  • align pragma 可用於物件變數和字段,這類似於 C/C++ 中的alignas。
  • =sink 運算子現在是可選的。 編譯器現在可以結合使用 =destroy 和 copyMem 來有效地移動物件。
  • 運轉時不會檢查到無符號整數的轉換。 詳情見 https://github.com/nim-lang/RFCs/issues/175
  • 左值的新語法:var b {.byaddr.} = expr,透過 import std/decls 連接
  • 編譯器支援新的開關 -panics:on,它將運行時錯誤(例如 IndexError 或 OverflowError)轉換為無法透過 try 捕獲的致命錯誤。 這可以提高運行時效率和程式大小。
  • 產生的 JS 程式碼僅使用空格,而不是空格和製表符的混合。
  • 編譯器新增了對 .localPassc pragma 的支持,它可用於處理從目前 Nim 模組產生的 C(++) 檔案的特殊 C(++) 後端選項。
  • Nimpretty 不再接受設定縮排的否定參數,因為這會破壞檔案。
  • 新增了新的巨集(收集、複製、捕獲),透過導入糖連接。

此外,標準庫中還添加了許多更改並修復了許多錯誤。

來源: linux.org.ru

添加評論