Nim 1.2.0 -julkaisu

Nim-järjestelmän ohjelmointikielestä on julkaistu uusi versio. Se on osittain yhteensopimaton version 1.0 kanssa esimerkiksi vahvemman tyyppimuunnoksen vuoksi. Mutta tässä tapauksessa on lippu -useVersion:1.0.

Pääinnovaatio on uusi roskakeräin, joka otetaan käyttöön --gc:arc-vaihtoehdolla. Kielen kirjoittaja Andreas Rumpf aikoo kirjoittaa yksityiskohtaisen artikkelin ARC:n eduista, mutta toistaiseksi hän ehdottaa lukemista hänen FOSDEM-puheensa kanssa, joka näyttää vertailutulokset.

  • Kääntäjä tukee nyt vaihtoehtoa --asm, mikä helpottaa tuotetun assembler-koodin tutkimista.
  • Kohdistuspragmaa voidaan käyttää objektimuuttujissa ja -kentissä, samalla tavalla kuin C/C++:n aligneja.
  • =Sink-operaattori on nyt valinnainen. Kääntäjä voi nyt käyttää yhdistelmää =destroy ja copyMem siirtääkseen kohteita tehokkaasti.
  • Muunnoksia etumerkittömiksi kokonaisluvuiksi ei tarkisteta suorituksen aikana. Yksityiskohdat sisään https://github.com/nim-lang/RFCs/issues/175
  • Uusi syntaksi arvolle lvalue: var b {.byaddr.} = expr, mukana Import std/decls
  • Kääntäjä tukee uutta --panics:on -vaihtoehtoa, joka muuttaa ajonaikaiset virheet, kuten IndexError tai OverflowError, kohtalokkaiksi virheiksi, joita ei voida saada kiinni yrittämällä. Tämä voi parantaa suoritusaikaa ja ohjelman kokoa.
  • Luodussa JS-koodissa käytetään vain välilyöntejä välilyöntien ja sarkainten sekoituksen sijaan.
  • Kääntäjään lisätty tuki .localPassc-pragmalle, jolla voidaan käsitellä erityisiä C(++)-taustavaihtoehtoja C(++)-tiedostolle, joka on luotu nykyisestä Nim-moduulista.
  • Nimpretty ei enää hyväksy negatiivista argumenttia sisennyksen puolesta, koska se rikkoisi tiedostoja.
  • Lisätty uusia makroja (kerätä, kopioida, kaapata), jotka on yhdistetty tuontisokerin kautta.

Lisäksi standardikirjastoon on lisätty monia muutoksia ja monia virheenkorjauksia.

Lähde: linux.org.ru

Lisää kommentti