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

болсон системийн програмчлалын хэлний хувилбар Ним 0.20.0. Энэ хэл нь статик бичих аргыг ашигладаг бөгөөд Pascal, C++, Python болон Lisp хэл дээр тулгуурлан бүтээгдсэн. Nim эх кодыг C, C++ эсвэл JavaScript дүрслэл болгон хөрвүүлдэг. Дараа нь C/C++ кодыг ашиглах боломжтой аливаа хөрвүүлэгчийг (clang, gcc, icc, Visual C++) ашиглан гүйцэтгэх боломжтой файл болгон хөрвүүлдэг бөгөөд энэ нь хэрэв та ажиллуулах зардлыг тооцохгүй бол C-тэй ойролцоо гүйцэтгэлд хүрэх боломжийг олгодог. хог цуглуулагч. Python-той адил Nim нь догол мөрийг блок тусгаарлагч болгон ашигладаг. Домэйн тусгай хэл (DSL) үүсгэх метапрограмчлалын хэрэгсэл, чадварыг дэмждэг. Төслийн код нийлүүлсэн MIT лицензийн дагуу.

Nim 0.20 хувилбарыг эхний тогтвортой 1.0 хувилбарт нэр дэвшигч гэж үзэж болох бөгөөд энэ нь хэлний төлөв байдлыг бий болгох анхны тогтвортой салбарыг бүрдүүлэхэд шаардлагатай харилцан ажиллах чадварыг эвдэх хэд хэдэн өөрчлөлтийг багтаасан болно. Хувилбар 1.0 нь хэлний тогтворжсон хэсэгт хоцрогдсон нийцтэй байдлыг хадгалах баталгаатай, тогтвортой, урт хугацааны дэмжлэг үзүүлэх хувилбар гэж тооцогддог. Тус тусад нь хөрвүүлэгч нь туршилтын горимтой байх бөгөөд энэ нь эргээд нийцтэй байдлыг эвдэж болзошгүй шинэ боломжуудыг хөгжүүлэх болно.

Nim 0.20-д санал болгож буй өөрчлөлтүүдийн дунд:

  • "Үгүй" нь одоо үргэлж нэгдмэл оператор байдаг, i.e. "assert(a not a)" гэх мэт хэллэгүүдийг одоо зөвшөөрөхгүй бөгөөд зөвхөн "assert not a"-г зөвшөөрнө;
  • Эмхэтгэлийн үе шатанд бүхэл тоо болон бодит тоог хөрвүүлэх хатуу шалгалтыг идэвхжүүлсэн, i.e. "const b = uint16(-1)" илэрхийлэл нь одоо алдаа гаргах болно, учир нь -1-ийг тэмдэггүй бүхэл тоонд хөрвүүлэх боломжгүй;
  • Тогтмол болон давталтын хувьсагчдын багцуудыг задлах боломжтой.
    Жишээлбэл, одоо та 'const (d, e) = (7, "найман")" болон "f-д (x, y)" гэх мэт даалгавруудыг ашиглаж болно;

  • Хэш болон хүснэгтийн анхдагч тохиргоог өгсөн. Жишээлбэл, "var s: HashSet[int]" гэж зарласны дараа та өмнө нь алдаа гаргаж байсан "s.incl(5)"-г шууд ажиллуулж болно;
  • "Case" оператортой холбоотой асуудлуудын алдааны мэдээллийг сайжруулсан ба массивын индекс хязгаараас гарсан;
  • Давталтын явцад хүснэгтийн уртыг өөрчлөхийг хориглоно.

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

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