Den nyeste versjonen av programmeringsspråket Nim er utgitt. Den har delvis inkompatibilitet med versjon 1.0, for eksempel på grunn av strengere typekonvertering. Men det er en flagg for dette —useVersion:1.0.
Hovednyheten er en ny søppelinnsamler, aktivert med alternativet —gc:arc. Språkets forfatter, Andreas Rumpf, planlegger å skrive en detaljert artikkel om fordelene med ARC, men inntil videre anbefaler han å se på hans presentasjon på FOSDEM, hvor resultatene av benchmarkene vises.
- Komponenten støtter nå alternativet —asm for enklere studier av generert assemblerkode.
- align pragma kan brukes både for variabler og felt i objekter, det ligner på alignas i C/C++.
- =sink operatoren er nå valgfri. Kompilatoren kan nå bruke en kombinasjon av =destroy og copyMem for effektiv flytting av objekter.
- Konvertering til unsigned integers sjekkes ikke i kjøringen. Detaljer i https://github.com/nim-lang/RFCs/issues/175
- Ny syntaks for lvalue: var b {.byaddr.} = expr, aktivert via import std/decls
- Komponenten støtter nå den nye nøkkelen —panics:on, som gjør at kjøretidsfeil som IndexError eller OverflowError blir fatale feil som ikke kan fanges med try. Dette kan forbedre effektiviteten til kjøringen og størrelsen på programmet.
- Den genererte JS-koden bruker bare mellomrom i stedet for en miks av mellomrom og tabulatorer.
- Komponenten har fått støtte for .localPassc pragma, som lar deg behandle spesielle C(++) alternativ for C(++) filen som genereres fra den nåværende Nim-modulen.
- Nimpretty aksepterer nå ikke negative argumenter for innstillingen av innrykk, da dette ødela filene.
- Nye makroer (collect, dup, capture) er lagt til og aktiveres via import sugar.
I tillegg er det lagt til mange endringer i standardbiblioteket og mange feilrettinger.
Kilde: linux.org.ru
