Nim 1.2.0 хувилбар

Nim системийн програмчлалын хэлний шинэ хувилбар гарлаа. Энэ нь 1.0 хувилбартай хэсэгчлэн үл нийцэх, тухайлбал илүү хатуу төрлийн хөрвүүлэлтийн улмаас. Гэхдээ энэ тохиолдолд -useVersion:1.0 гэсэн туг байдаг.

Гол шинэчлэл нь -gc:arc сонголтоор идэвхжсэн шинэ хог цуглуулагч юм. Хэлний зохиолч Андреас Рампф ARC-ийн давуу талуудын талаар дэлгэрэнгүй нийтлэл бичих гэж байгаа ч одоохондоо тэр таныг уншихыг урьж байна. FOSDEM дахь үзүүлбэрээрээ, энэ нь жишиг үр дүнг харуулж байна.

  • Хөрвүүлэгч нь одоо үйлдвэрлэсэн угсралтын кодыг илүү тохиромжтой шалгахын тулд --asm сонголтыг дэмждэг.
  • Align прагма нь объектын хувьсагч болон талбарт ашиглагдаж болох бөгөөд энэ нь C/C++ хэл дээрх alignas-тай төстэй юм.
  • =sink оператор нь одоо сонголттой болсон. Хөрвүүлэгч одоо =destroy болон copyMem-ийн хослолыг ашиглан объектуудыг үр дүнтэй хөдөлгөх боломжтой.
  • Ажиллах үед тэмдэггүй бүхэл тоо руу хөрвүүлэлтийг шалгадаггүй. Дэлгэрэнгүйг дотор https://github.com/nim-lang/RFCs/issues/175
  • lvalue-ийн шинэ синтакс: var b {.byaddr.} = expr, импортын std/decls-ээр холбогдсон
  • Хөрвүүлэгч нь IndexError эсвэл OverflowError гэх мэт ажиллах үеийн алдааг оролдох замаар олж авах боломжгүй аюултай алдаа болгон хувиргадаг шинэ унтраалга -panics:on-ыг дэмждэг. Энэ нь ажлын цагийн үр ашиг, програмын хэмжээг нэмэгдүүлэх боломжтой.
  • Үүсгэсэн JS код нь хоосон зай, табын оронд зөвхөн хоосон зайг ашигладаг.
  • Хөрвүүлэгч нь .localPassc прагмагийн дэмжлэгийг нэмсэн бөгөөд үүнийг одоогийн Nim модулиас үүсгэгдсэн C(++) файлын тусгай C(++) арын сонголтуудыг зохицуулахад ашиглаж болно.
  • Nimpretty нь файлуудыг эвдэж байсан тул догол оруулах сөрөг аргументыг хүлээн авахаа больсон.
  • Импортын элсэн чихэрээр холбогдсон шинэ макро (цуглуулах, хуулбарлах, барих) нэмэгдсэн.

Үүнээс гадна стандарт номын санд олон өөрчлөлт орж, олон алдаа зассан.

Эх сурвалж: linux.org.ru

сэтгэгдэл нэмэх