GNU Guile 3.0 vio la luz del día

tuvo lugar relizar GNU Astucia 3.0, una implementación libre de un lenguaje de programación funcional Esquema, que permite incrustar código en aplicaciones escritas en otros lenguajes de programación. Guile puede usarse como lenguaje para desarrollar extensiones de aplicaciones, definir la configuración o desarrollar componentes para conectar diversas primitivas proporcionadas por una aplicación. Guile es el lenguaje oficial de desarrollo de extensiones del sistema operativo GNU.

Guile se basa en una máquina virtual eficiente que ejecuta un conjunto de instrucciones portable generado por un compilador optimizador dedicado. La máquina virtual Guile se integra fácilmente con el código de aplicación C y C++. Además del lenguaje Scheme, para el cual se implementa compatibilidad con especificaciones, R5RS, R6RS и R7RSEl proyecto Guile también desarrolla compiladores para otros lenguajes, como ECMAScript, Emacs Lisp y Lua (en desarrollo). El paquete incluye una biblioteca de módulos que implementan funciones de servicio comunes, como el uso del protocolo HTTP, el análisis de XML y técnicas de programación orientada a objetos.

Una innovación clave en GNU Guile 3.0 es la introducción de un compilador justo a tiempo (JIT), además del intérprete y el compilador de bytecode ofrecidos previamente, que se ejecuta en una máquina virtual dedicada y está vinculada a la aplicación como biblioteca. JIT permite la generación de código máquina sobre la marcha y acelera significativamente la ejecución de las aplicaciones Guile (las pruebas muestran una aceleración de hasta cuatro veces). El compilador JIT es compatible con las arquitecturas x86-64, i686, ARMv7 y AArch64.

Algunas de las otras mejoras:

  • Compatibilidad con la nueva especificación del lenguaje Scheme R7RS y los módulos de biblioteca definidos en él;
  • La máquina virtual Guile implementa soporte para código de bytes de nivel inferior, lo que permite optimizaciones avanzadas;
  • Soporte para combinar definiciones y expresiones internas (por ejemplo, "(define _ (begin (foo) #f))");
  • Se propone una implementación unificada de un tipo de datos estructurados (“registros”);
  • Se han rediseñado los primitivos de manejo de excepciones (throw y catch);
  • Se definen enlaces para la sintaxis extendida "else", "=>", "..." y "_";
  • En http-request, http-get y otros procedimientos relacionados con clientes web, se ha agregado la capacidad de descargar contenido a través de un canal de comunicación cifrado usando TLS con verificación de certificado correcta.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster