Nim програмчлалын хэлний хувилбар 1.4.0

Nim системийн програмчлалын хэлний шинэ хувилбар гарсан бөгөөд энэ XNUMX-р сард гарснаас хойш нэг жил болж байна. анхны тогтвортой хувилбар. Синтакс нь Python-той төстэй бөгөөд гүйцэтгэл нь бараг C++-тэй адил юм. дагуу тусламж Хэл нь (хувь нэмэр оруулах жингийн дарааллаар): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon-аас их хэмжээгээр зээлдэг.


C/C++/Objective-C/JS хөрвүүлэх чадварын ачаар хаа сайгүй ажилладаг. Энэ нь дэмждэг макро, OOP байна, ерөнхий зүйл, үл хамаарах зүйл, халуун код солих болон бусад олон. Лиценз - MIT.

Хамгийн чухал өөрчлөлтүүд:

  • ARC алгоритмыг ашигладаг боловч дугуй лавлагааг тусгай аргаар зохицуулдаг шинэ ORC хог цуглуулагч бий. --gc:orc сонголтоор идэвхжүүлсэн. ARC/ORC ялгааны тухай сайхан нийтлэл байна.

  • Функцийн хатуу тодорхойлолтын горим нэмэгдсэн бөгөөд үүнд объектын өөрчлөлтийн нэмэлт шалгалт орно. {.experimental: "strictFuncs".} прагма эсвэл --experimental:strictFuncs шилжүүлэгчээр идэвхжүүлсэн.

  • from түлхүүр үгийг одоо оператор болгон ашиглаж болно.

  • .noalias прагма нэмсэн. Энэ нь энэ түлхүүр үгийн өгч чадах үр ашгийг нэмэгдүүлэхийн тулд C хязгаарлах түлхүүр үгтэй харьцдаг.

  • Тусгай анхааруулгыг одоо --warningAsError[X]:on|off-оор алдаа болгон хувиргах боломжтой.

  • Шинэ команд: nim r main.nim [args...], энэ нь main.nim-ийг эмхэтгэн ажиллуулдаг ба --usenimcache-г агуулдаг бөгөөд үр дүнг $nimcache/main$exeExt-д nim c-тэй ижил логикоор хадгалдаг. r эх код өөрчлөгдөөгүй байхад дахин эмхэтгэлээс ангижрах. Жишээ:

nim r compiler/nim.nim --help # анх удаа эмхэтгэсэн
echo 'import os; echo getCurrentCompilerExe()' | nim r - # энэ нь бас ажилладаг
nim r compiler/nim.nim --fullhelp # дахин эмхэтгэлгүйгээр
nim r --nimcache:/tmp main # хоёртын файлыг /tmp/main руу хадгалсан.

  • Хөрвүүлэгч хаана алдаа/анхааруулах мессеж үүсгэснийг харуулах шинэ зөвлөмж --hint:msgOrigin нэмсэн. Энэ нь мессеж хаанаас ирсэн нь тодорхойгүй үед тусалдаг.

  • Арын төгсгөлийг өөрчлөхийн тулд --backend:js|c|cpp|objc (эсвэл -b:js гэх мэт) тугийг нэмсэн.

  • Nimcache руу хоёртын файлуудыг гаргахын тулд --usenimcache тугийг нэмсэн.

  • Түлхүүрүүдийг хассан: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest хэрэгсэл нь одоо зөвхөн дамжуулалтын мэдэгдлийг төдийгүй def хүссэн үед хэрэгжилтийн байршлыг харуулдаг.

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

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