Nim 1.2.0-release

Er is een nieuwe versie van de programmeertaal Nim-systeem uitgebracht. Het is gedeeltelijk incompatibel met versie 1.0, bijvoorbeeld vanwege strengere typeconversie. Maar in dit geval is er een vlag -useVersion:1.0.

De belangrijkste innovatie is een nieuwe garbage collector, mogelijk gemaakt door de optie -gc:arc. De auteur van de taal, Andreas Rumpf, gaat een gedetailleerd artikel schrijven over de voordelen van ARC, maar voor nu nodigt hij je uit om te lezen met zijn optreden bij FOSDEM, waarin de benchmarkresultaten worden weergegeven.

  • De compiler ondersteunt nu de --asm optie voor gemakkelijker onderzoek van de geproduceerde assemblagecode.
  • Het align-pragma kan worden gebruikt op objectvariabelen en velden, dit is vergelijkbaar met alignas in C/C++.
  • De =sink-operator is nu optioneel. De compiler kan nu een combinatie van =destroy en copyMem gebruiken om objecten efficiënt te verplaatsen.
  • Conversies naar niet-ondertekende gehele getallen worden tijdens runtime niet gecontroleerd. Details binnen https://github.com/nim-lang/RFCs/issues/175
  • Nieuwe syntaxis voor lvalue: var b {.byaddr.} = expr, verbonden via import std/decls
  • De compiler ondersteunt een nieuwe schakelaar -panics:on, die runtime-fouten zoals IndexError of OverflowError omzet in fatale fouten die niet via try kunnen worden onderschept. Dit kan de runtime-efficiëntie en de programmagrootte verbeteren.
  • De gegenereerde JS-code gebruikt alleen spaties in plaats van een mengelmoes van spaties en tabs.
  • De compiler heeft ondersteuning toegevoegd voor het .localPassc-pragma, dat kan worden gebruikt om speciale C(++) backend-opties te verwerken voor een C(++)-bestand dat is gegenereerd vanuit de huidige Nim-module.
  • Nimpretty accepteert niet langer een negatief argument voor het instellen van inspringen, omdat hierdoor bestanden kapot gingen.
  • Er zijn nieuwe macro's toegevoegd (collect, dup, capture), verbonden via importsuiker.

Daarnaast zijn er veel wijzigingen toegevoegd aan de standaardbibliotheek en veel bugfixes.

Bron: linux.org.ru

Voeg een reactie