Nim 1.2.0 udgivelse

En ny version af Nim-systemprogrammeringssproget er blevet frigivet. Den har delvis inkompatibilitet med version 1.0, for eksempel på grund af strengere typekonvertering. Men i dette tilfælde er der et flag -useVersion:1.0.

Den vigtigste innovation er en ny skraldeopsamler, aktiveret af -gc:arc-indstillingen. Forfatteren af ​​sproget, Andreas Rumpf, skal skrive en detaljeret artikel om fordelene ved ARC, men indtil videre inviterer han dig til at læse med sin optræden på FOSDEM, som viser benchmarkresultaterne.

  • Compileren understøtter nu --asm muligheden for mere bekvem undersøgelse af den producerede assembly kode.
  • Align pragmaen kan bruges på objektvariabler og felter, dette svarer til alignas i C/C++.
  • =sink-operatøren er nu valgfri. Compileren kan nu bruge en kombination af =destroy og copyMem til at flytte objekter rundt effektivt.
  • Konverteringer til usignerede heltal kontrolleres ikke under kørsel. Detaljer i https://github.com/nim-lang/RFCs/issues/175
  • Ny syntaks for lvalue: var b {.byaddr.} = expr, forbundet via import std/decls
  • Compileren understøtter en ny switch -panics:on, som forvandler runtime fejl såsom IndexError eller OverflowError til fatale fejl, der ikke kan fanges via try. Dette kan forbedre køretidseffektiviteten og programstørrelsen.
  • Den genererede JS-kode bruger kun mellemrum i stedet for en blanding af mellemrum og tabulatorer.
  • Compileren har tilføjet understøttelse af .localPassc-pragmaen, som kan bruges til at håndtere specielle C(++)-backend-muligheder for en C(++)-fil, der er genereret fra det aktuelle Nim-modul.
  • Nimpretty accepterer ikke længere et negativt argument for at indstille indrykning, da dette var at bryde filer.
  • Nye makroer er blevet tilføjet (saml, dup, fange), forbundet via importsukker.

Derudover er der tilføjet mange ændringer til standardbiblioteket og mange fejlrettelser.

Kilde: linux.org.ru

Tilføj en kommentar