Versi anyar tina basa pamrograman Nim 0.20

lumangsung release basa programming sistem Nim 0.20.0. Basa ngagunakeun ketikan statik sarta dijieun kalawan Pascal, C ++, Python jeung Lisp dina pikiran. Kode sumber Nim disusun jadi representasi C, C ++, atawa JavaScript. Salajengna, kode C / C ++ anu dihasilkeun disusun kana file executable ngagunakeun sagala compiler sadia (clang, gcc, icc, Visual C ++), nu ngidinan Anjeun pikeun ngahontal kinerja deukeut C, lamun teu tumut kana akun biaya ngajalankeun. tukang mulung. Sarupa jeung Python, Nim ngagunakeun indentation salaku block delimiters. Alat sareng kamampuan metaprogramming pikeun nyiptakeun basa khusus domain (DSL) dirojong. Kodeu proyék dibekelan handapeun lisénsi MIT.

Pelepasan Nim 0.20 tiasa dianggap calon pikeun sékrési stabil 1.0 munggaran, kalebet sababaraha parobihan anu ngarobih interoperabilitas anu diperyogikeun pikeun ngabentuk cabang stabil munggaran anu bakal ngalaksanakeun kaayaan basa. Vérsi 1.0 disebut-sebut salaku sékrési dukungan jangka panjang anu stabil anu bakal dijamin pikeun ngajaga kasaluyuan mundur dina bagian basa anu stabil. Kapisah, kompiler ogé bakal gaduh mode ékspérimén anu sayogi dimana fitur-fitur énggal anu tiasa ngarobih kasaluyuan mundur bakal dikembangkeun.

Diantara parobahan anu diajukeun dina Nim 0.20 nyaéta:

  • "Henteu" ayeuna sok operator unary, i.e. ungkapan kawas "negeskeun (teu a)" ayeuna teu diwenangkeun tur ngan "negeskeun teu a" diwenangkeun;
  • Diaktipkeun cék ketat pikeun konversi integer jeung wilangan riil dina tahap kompilasi, i.e. babasan "const b = uint16 (-1)" ayeuna bakal ngakibatkeun kasalahan, saprak -1 teu bisa dirobah jadi tipe integer unsigned;
  • Unpacking tuples pikeun konstanta sarta variabel loop disadiakeun.
    Contona, ayeuna anjeun bisa make assignments kawas 'const (d, e) = (7, "dalapan")" jeung "pikeun (x, y) dina f";

  • Disadiakeun inisialisasi standar tina hashes sareng tabel. Contona, sanggeus nyatakeun "var s: HashSet [int]" anjeun bisa langsung ngaéksekusi "s.incl (5)", nu saméméhna ngabalukarkeun kasalahan;
  • Inpormasi kasalahan ningkat pikeun masalah anu aya hubunganana sareng operator "kasus" sareng indéks Asép Sunandar Sunarya di luar wates;
  • Ngarobah panjang tabel salila Iteration dilarang.

sumber: opennet.ru

Tambahkeun komentar