Nim 1.2.0 izlaidums

Iznācis jauns sistēmas programmēšanas valodas Nim versija. Tajā ir daļēja nesaderība ar versiju 1.0, piemēram, dēļ stingrākas datu tipu pārveidošanas. Taču šim gadījumam ir karogs —useVersion:1.0.

Galvenā jaunieveduma — jauns atkritumu kolektors, kas aktivizēts ar opciju —gc:arc. Valodas autors Andreas Rumpf plāno uzrakstīt detalizētu rakstu par ARC priekšrocībām, taču pagaidām piedāvā iepazīties ar viņa uzstāšanos FOSDEM, kurā ir parādīti benchmark rezultāti.

  • Kompilatoram tagad atbalsta opciju —asm, lai ērtāk pētītu ražoto asemblera kodu.
  • align pragma var tikt izmantota mainīgajiem un objekta laukiem, tas atgādina alignas C/C++.
  • =sink operators tagad ir opcijonāls. Kompilators tagad var izmantot kombināciju =destroy un copyMem, lai efektīvi pārvietotu objektus.
  • Pārveidojumi uz unsigned integers netiek pārbaudīti izpildes laikā. Sīkāka informācija atrodama https://github.com/nim-lang/RFCs/issues/175
  • Jauna sintakse lvalue: var b {.byaddr.} = expr, kas tiek importēta caur import std/decls
  • Kompilatoram ir atbalsts jaunai atslēgai —panics:on, kas pārvērš izpildes kļūdas, piemēram, IndexError vai OverflowError, par fatālām kļūdām, kuras nevar noķert ar try. Tas var uzlabot izpildes efektivitāti un programmas lielumu.
  • Ģenerētā JS-kods izmanto tikai atstarpes, nevis sajaukumu no atstarpēm un tabulām.
  • Kompilatoram pievienots atbalsts .localPassc pragma, ar kuru var apstrādāt speciālās C(++) aizmugurējā procesa opcijas C(++) failam, kas tiek ģenerēts no pašreizējā Nim moduļa.
  • Nimpretty tagad nepieņem negatīvu argumentu, lai iestatītu atkāpes, jo tas sabojāja failus.
  • Pievienoti jauni makro (collect, dup, capture), kas tiek importēti caur import sugar.

Turklāt pievienotas daudzas izmaiņas standarta bibliotēkā un daudzi labojumi.

Avots: linux.org.ru

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster