GNU Guile 3.0 ist erschienen

Hat stattgefunden Release GNU Guile 3.0, einer freien Implementierung einer funktionalen Programmiersprache Schema, die die Möglichkeit unterstĂŒtzt, Code in Anwendungen anderer Programmiersprachen einzubetten. Guile kann als Sprache zur Erweiterung von Anwendungen, zur Definition von Konfigurationen oder zur Entwicklung von Komponenten verwendet werden, um verschiedene von der Anwendung bereitgestellte Primitivtypen zu verbinden. Guile ist die offizielle Erweiterungssprache des GNU-Betriebssystems.

Die Grundlage von Guile bildet eine leistungsfĂ€hige virtuelle Maschine, die einen portablen Befehlssatz ausfĂŒhrt, der von einem speziellen optimierenden Compiler erzeugt wird. Die Guile-Virtual-Machine lĂ€sst sich leicht mit Code von Anwendungen in C und C++ integrieren. Neben der Sprache Scheme, fĂŒr die UnterstĂŒtzung von Spezifikationen implementiert wurde, R5RS, R6RS und R7RS, wurden im Rahmen des Guile-Projekts auch Compiler fĂŒr andere Sprachen entwickelt, wie ECMAScript, Emacs Lisp und Lua (in der Entwicklung). Das Paket enthĂ€lt eine Modulbibliothek, in der typische Dienstfunktionen wie die Arbeit mit dem HTTP-Protokoll, das Parsen von XML und die Anwendung objektorientierter Programmierung implementiert sind.

Eine der SchlĂŒsselneuheiten in GNU Guile 3.0 ist das Erscheinen eines JIT-Compilers, zusĂ€tzlich zu den zuvor angebotenen Interpreter und Bytecode-Compiler, die in einer speziellen virtuellen Maschine ausgefĂŒhrt werden, die als Bibliothek an die Anwendung gebunden ist. JIT ermöglicht die Generierung von Maschinencode zur Laufzeit und beschleunigt die AusfĂŒhrung von Guile-Anwendungen erheblich (Tests zeigen eine Beschleunigung von bis zu 4-fach). Der JIT-Compiler unterstĂŒtzt Architekturen wie x86-64, i686, ARMv7 und AArch64.

Einige andere Verbesserungen:

  • UnterstĂŒtzung der neuen Spezifikation der Sprache Scheme R7RS und der darin definierten Bibliotheksmodule;
  • Die Guile-Virtual-Machine unterstĂŒtzt niedrigere Bytecode-Level, die erweiterte Optimierungen ermöglichen;
  • UnterstĂŒtzung fĂŒr die Kombination interner define-Definitionen und AusdrĂŒcke (z. B. „(define _ (begin (foo) #f))“);
  • Eine einheitliche Implementierung des strukturierten Datentyps („records“) wurde vorgeschlagen;
  • Die Primitive zur Behandlung von Ausnahmen (throw und catch) wurden ĂŒberarbeitet;
  • Es wurden Bindungen fĂŒr die erweiterte Syntax „else“, „=>“, „
“ und „_“ definiert;
  • In http-request, http-get und anderen mit Web-Clients verbundenen Verfahren wurde die Möglichkeit hinzugefĂŒgt, Inhalte ĂŒber einen verschlĂŒsselten Kommunikationskanal mit TLS und korrekter ZertifikatprĂŒfung zu laden.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster