Liberada la nueva versión de GNU Guile 3.0 y estos son sus cambios mas importantes
GNU Guile es el intérprete preferido para el proyecto GNU, cuenta con una implementación del lenguaje de programación Scheme. Guile incluye extensiones modulares para muchas tareas de programación diferentes, como las llamadas a sistemas POSIX, entre otras.
Para ampliar los programas, Guile cuenta con libguile, una biblioteca que permite insertarlo en otros programas e integrarlo con exactitud mediante la interfaz de programación de aplicaciones (API) del lenguaje de programación C. De manera similar, los nuevos tipos y subrutinas definidas a través de esta API pueden ponerse a disposición del usuario como extensiones de Guile.
Admite la posibilidad de incrustar el código en aplicaciones en otros lenguajes de programación. Guile se puede usar como lenguaje para desarrollar extensiones de aplicación, definir configuraciones o desarrollar componentes para conectar las diversas primitivas proporcionadas por la aplicación. Guile es el lenguaje oficial de desarrollo de extensiones para el sistema operativo GNU.
Sobre Gnu Guile
El núcleo de Guile es una máquina virtual eficiente que ejecuta un conjunto de instrucciones portátil generado por un compilador de optimización especial. La máquina virtual Guile se integra perfectamente con el código de aplicación C y C ++.
Además del lenguaje Scheme, que admite las especificaciones R5RS, R6RS y R7RS, el proyecto Guile también desarrolló compiladores para otros idiomas, como ECMAScript, Emacs Lisp y Lua (en desarrollo).
La idea principal de Guile Scheme es que el desarrollador implemente algoritmos críticos y estructuras de datos en C o C++ y exporte las funciones y tipos para que sean usados por el código interpretado.
Por lo tanto, Guile Scheme, y otros lenguajes implementados por Guile, puede ampliarse con nuevos tipos y subrutinas implementadas a través de la API de C.
La distribución estándar ofrece módulos para llamadas de sistemas POSIX, planificadores, una interfaz de funciones foráneas, expresiones basadas en el procesamiento de XML a partir de SXML, SXPath y SXSLT.
También incluye el protocolo HTTP y otras APIs web, continuación de limitada, programación de vectores y otras funciones. Los programas escritos en Guile pueden usar las instalaciones de SLIB, la biblioteca portable de Scheme.
El paquete incluye una biblioteca de módulos que implementan funciones de servicio estándar, como trabajar con el protocolo HTTP, el análisis XML y el uso de métodos de programación orientados a objetos.
Principales novedades de GNU Guile 3.0
Una innovación clave en GNU Guile 3.0 fue la aparición de un compilador JIT, además del intérprete y compilador bytecode propuesto previamente, ejecutado en una máquina virtual especial que está vinculada a la aplicación en forma de biblioteca.
JIT permite generar código de máquina sobre la marcha y acelera significativamente la ejecución de aplicaciones Guile (las pruebas muestran una aceleración de hasta 4 veces). El compilador JIT admite arquitecturas x86-64, i686, ARMv7 y AArch64.
Tambien se destaca que se agrego el soporte para la nueva especificación de lenguaje Scheme R7RS y módulos de biblioteca definidos en ella.
En http-request, http-get y otros procedimientos relacionados con el cliente web, se ha agregado la capacidad de descargar contenido a través de un canal de comunicación encriptado usando TLS con la verificación correcta de los certificados.
Por la parte de la máquina virtual Guile, se realizaron las mejoras para admitir el código de bytes de nivel inferior, lo que le permite aplicar optimizaciones avanzadas.
De los demás cambios que se incorporaron en esta nueva versión:
- Soporte para combinar definiciones y definiciones definidas internas (define _ (begin (foo) #f)).
- Se propone una implementación unificada de un tipo de datos estructurados (“records“).
- Se rediseñaron las primitivas de manejo de excepciones (throw y catch).
- Los enlaces se definen para la sintaxis extendida “else“, “=>“, “…“ y “_”.
¿Cómo instalar Gnu Guile 3.0?
Para quienes estén interesados en poder instalar Guile en su sistema, podrán hacerlo descargado el código fuente de la aplicación y realizar la compilación de este.
Para ello debemos abrir una terminal y en ella vamos a teclear:
wget -r ftp://ftp.gnu.org/gnu/guile/guile-3.0.0.tar.gz
Ahora vamos a realizar la compilación con:
zcat guile-3.0.0.tar.gz | tar xvf -
cd guile-3.0.0
./configure
make
make install