Nim 1.2.0 utgivelse

En ny versjon av systemprogrammeringsspråket Nim har blitt utgitt. Den har delvis inkompatibilitet med versjon 1.0, for eksempel på grunn av strengere typekonvertering. Men i dette tilfellet er det et flagg -useVersion:1.0.

Hovedinnovasjonen er en ny søppeloppsamler, aktivert av -gc:arc-alternativet. Forfatteren av språket, Andreas Rumpf, skal skrive en detaljert artikkel om fordelene med ARC, men foreløpig inviterer han deg til å lese med sin opptreden på FOSDEM, som viser referanseresultatene.

  • Kompilatoren støtter nå --asm-alternativet for mer praktisk undersøkelse av den produserte monteringskoden.
  • Align-pragmaen kan brukes på objektvariabler og felt, dette ligner på alignas i C/C++.
  • =sink-operatøren er nå valgfri. Kompilatoren kan nå bruke en kombinasjon av =destroy og copyMem for å flytte rundt objekter effektivt.
  • Konverteringer til usignerte heltall kontrolleres ikke under kjøring. Detaljer i https://github.com/nim-lang/RFCs/issues/175
  • Ny syntaks for lvalue: var b {.byaddr.} = expr, koblet til via import std/decls
  • Kompilatoren støtter en ny bryter -panics:on, som gjør kjøretidsfeil som IndexError eller OverflowError til fatale feil som ikke kan fanges opp via forsøk. Dette kan forbedre kjøretidseffektiviteten og programstørrelsen.
  • Den genererte JS-koden bruker bare mellomrom i stedet for en blanding av mellomrom og tabulatorer.
  • Kompilatoren har lagt til støtte for .localPassc-pragmaen, som kan brukes til å håndtere spesielle C(++)-backend-alternativer for en C(++)-fil som genereres fra den nåværende Nim-modulen.
  • Nimpretty godtar ikke lenger et negativt argument for å sette innrykk, da dette var å bryte filer.
  • Nye makroer er lagt til (collect, dup, capture), koblet til via importsukker.

I tillegg er det lagt til mange endringer i standardbiblioteket og mange feilrettinger.

Kilde: linux.org.ru

Legg til en kommentar