Sortie de Nim 1.2.0

Une nouvelle version du langage de programmation Nim est sortie. Elle présente une compatibilité partielle avec la version 1.0, en raison, par exemple, d'une conversion de types plus stricte. Pour ce cas, un drapeau —useVersion:1.0 est disponible.

La principale nouveauté est un nouveau ramasse-miettes, activé par l'option —gc:arc. L'auteur du langage, Andreas Rumpf, prévoit d'écrire un article détaillé sur les avantages d'ARC, en attendant, il propose de se familiariser avec sa présentation à FOSDEM, où les résultats des benchmarks sont présentés.

  • Le compilateur prend désormais en charge l'option —asm pour une étude plus facile du code assembleur généré.
  • L'pragma align peut être utilisé pour les variables et les champs d'objet, cela ressemble à alignas en C/C++.
  • =sink est maintenant un opérateur optionnel. Le compilateur peut désormais utiliser une combinaison de =destroy et copyMem pour un déplacement efficace des objets.
  • Les conversions vers des entiers non signés ne sont pas vérifiées au runtime. Plus de détails dans https://github.com/nim-lang/RFCs/issues/175
  • Une nouvelle syntaxe pour lvalue : var b {.byaddr.} = expr, à activer via import std/decls.
  • Le compilateur prend en charge une nouvelle clé —panics:on, qui transforme les erreurs d'exécution telles que IndexError ou OverflowError en erreurs fatales qui ne peuvent pas être attrapées via try. Cela peut améliorer l'efficacité du runtime et la taille du programme.
  • Le code JS généré utilise uniquement des espaces au lieu d'un mélange d'espaces et de tabulations.
  • Le compilateur a ajouté le support de l'pragma .localPassc, qui permet de traiter des options spéciales du backend C(++) pour le fichier C(++) généré à partir du module Nim actuel.
  • Nimpretty n'accepte maintenant plus d'argument négatif pour configurer les indentations, car cela cassait les fichiers.
  • De nouveaux macros (collect, dup, capture) ont été ajoutés, à activer via import sugar.

En outre, de nombreux changements ont été apportés à la bibliothèque standard et de nombreux bugs ont été corrigés.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster