Nim 1.2.0 vrystelling

'n Nuwe weergawe van die Nim-stelselprogrammeertaal is vrygestel. Dit het gedeeltelike onverenigbaarheid met weergawe 1.0, byvoorbeeld as gevolg van strenger tipe omskakeling. Maar in hierdie geval is daar 'n vlag -useVersion:1.0.

Die belangrikste innovasie is 'n nuwe vullisverwyderaar, aangeskakel deur die -gc:arc-opsie. Die skrywer van die taal, Andreas Rumpf, gaan 'n gedetailleerde artikel oor die voordele van ARC skryf, maar vir eers nooi hy jou uit om te lees met sy optrede by FOSDEM, wat die maatstafresultate toon.

  • Die samesteller ondersteun nou die --asm opsie vir meer gerieflike ondersoek van die vervaardigde samestelling kode.
  • Die align pragma kan gebruik word op objek veranderlikes en velde, dit is soortgelyk aan alignas in C/C++.
  • Die =sink-operateur is nou opsioneel. Die samesteller kan nou 'n kombinasie van = vernietig en copyMem gebruik om voorwerpe doeltreffend rond te beweeg.
  • Omskakelings na ongetekende heelgetalle word nie tydens looptyd nagegaan nie. Besonderhede in https://github.com/nim-lang/RFCs/issues/175
  • Nuwe sintaksis vir lwaarde: var b {.byaddr.} = uitdr, gekoppel via invoer std/decls
  • Die samesteller ondersteun 'n nuwe skakelaar -panics:on, wat looptydfoute soos IndexError of OverflowError omskep in noodlottige foute wat nie met probeer vasgevang kan word nie. Dit kan looptyddoeltreffendheid en programgrootte verbeter.
  • Die gegenereerde JS-kode gebruik slegs spasies in plaas van 'n mengelmoes van spasies en oortjies.
  • Die samesteller het ondersteuning bygevoeg vir die .localPassc-pragma, wat gebruik kan word om spesiale C(++)-agtergrondopsies te hanteer vir 'n C(++)-lΓͺer wat uit die huidige Nim-module gegenereer word.
  • Nimpretty aanvaar nie meer 'n negatiewe argument vir die stel van inkeping nie, aangesien dit lΓͺers breek.
  • Nuwe makro's is bygevoeg (versamel, dup, vang), gekoppel via invoersuiker.

Daarbenewens is baie veranderinge by die standaardbiblioteek gevoeg en baie foutoplossings.

Bron: linux.org.ru

Voeg 'n opmerking