Le 16 janvier, la version majeure de GNU Guile a été lancée - une implémentation intégrée du langage de programmation Scheme avec prise en charge du multithreading, de l'asynchronousité, des opérations réseau et des appels système POSIX, d'une interface binaire C, d'une analyse PEG, d'un REPL par réseau, XML ; elle possède son propre système de programmation orientée objet.
La principale caractéristique de cette nouvelle version est la prise en charge complète de la compilation JIT, ce qui a permis d'accélérer le fonctionnement des programmes en moyenne de deux fois, avec un maximum de trente-deux fois pour le benchmark mbrot. Comparé à la machine virtuelle Guile de la version stable précédente, le jeu d'instructions est devenu plus bas niveau.
La compatibilité avec les normes des langages de programmation Scheme R5RS et R7RS a également été améliorée, avec l'ajout de la prise en charge d'exceptions structurées et d'annonces et d'expressions alternées dans le contexte lexical. L'évaluation écrite en Scheme a atteint des performances égales à son équivalent en langage C ; pour différentes implémentations de type Record, un ensemble unifié d'outils a été fourni pour les manipuler ; les classes de GOOPS ne peuvent plus être redéfinies ; vous pouvez lire les détails et d'autres changements dans l'annonce de la version.
La nouvelle branche stable du langage est désormais 3.x. Elle est installée parallèlement à la branche stable précédente 2.x.
Source : linux.org.ru
