Desarrollado por | Proyecto GNU |
---|---|
Primera versión | 1997 |
Última versión |
2.2.7 (7 de marzo de 2020) 3.0.5 (7 de enero de 2021) |
Depositar | git.savannah.gnu.org/cgit/guile.git |
Escrito en | VS |
Interfaz | Ncurses |
Sistema de explotación | GNU / Linux , BSD ( d ) y Microsoft Windows |
Medio ambiente | GNU , GNU / Linux |
Tipo | Lenguaje de programación |
Licencia | GNU LGPL |
Documentación | www.gnu.org/software/guile/manual |
Sitio web | (es) Sitio web oficial |
Guile ( GNU Ubiquitous Intelligent Language for Extensions ) es un intérprete del lenguaje de programación Scheme desarrollado como parte del Proyecto GNU para servir como un lenguaje de extensión oficial para el sistema operativo GNU .
En 1994, Richard Stallman expuso sus ideas para diseñar un lenguaje de extensión para el Proyecto GNU. Una de las ideas principales fue que los usuarios deberían poder elegir el lenguaje de programación. El idioma principal considerado fue una variante del Esquema, pero otros idiomas podrían recibir soporte a través de traductores.
Tom Lord inmediatamente comenzó a trabajar en el proyecto. En 1995, se pusieron a disposición dos primeras versiones de trabajo. La compañía Cygnus Support agregó muchas características y sacó sus propias versiones Cygnus Guile r0.3 y R0.4. La primera versión oficial del Proyecto GNU salió en 1997.
El proyecto es mantenido notablemente por Andy Wingo .
Guile se puede utilizar como un intérprete de Scheme clásico. Pero fue diseñado desde el principio para ser integrado como un lenguaje de extensión en los programas escritos en lenguaje C .
Guile admite muchas extensiones del lenguaje Scheme , así como varios módulos del sistema, programación de red y subprocesos múltiples .
Funciona como intérprete o como compilador de Scheme para código de bytes en una máquina virtual .
Guile 2.0 compila el código de esquema en código de bytes , que luego es interpretado por una máquina virtual. Esto proporciona una mejora notable en el rendimiento con respecto a las versiones anteriores de Guile.
El código fuente se compila automáticamente de forma predeterminada una vez que se encuentra, sin intervención manual. El comando build de guile-tools, sin embargo, proporciona una interfaz de línea de comandos , además de procedimientos de Scheme para administrar el compilador.
Además de Scheme, el compilador viene con una interfaz para los lenguajes ECMAScript y Emacs Lisp .
Un nuevo REPL (in) está disponible desde la versión 2.0 con características para simplificar este tipo de programación interactiva. El REPL también cuenta con posibilidades de depuración .
Versión | Fecha de lanzamiento | Principales cambios |
---|---|---|
2.0.3 | 22 de octubre de 2011 |
|
2.0.2 | 2 de julio de 2011 |
|
2.0.1 | 27 de abril de 2011 |
|
2.0.0 | 16 de febrero de 2011 |
Guile es el lenguaje de extensión oficial del Proyecto GNU. Tom Tromey, mantenedor del proyecto GNU Debugger , sin embargo, anunció su retiro de GDB el 8 de octubre de 2010, prefiriendo Python como el único lenguaje de extensión.
El uso de Guile en una aplicación permite a los programadores escribir complementos y permite a los usuarios tener una aplicación que se adapte mejor a sus necesidades.
De hecho, Guile puede integrarse en software de terceros en forma de una biblioteca de software cuya interfaz les proporciona las funcionalidades del lenguaje Scheme y los módulos asociados. Por tanto, Guile se utiliza como lenguaje de extensión en muchas aplicaciones, incluidas Gimp , Anubis , GnuCash , LilyPond , MDK , Robots , Serveez , TeXmacs o Scwm.
Los piratas informáticos del proyecto GNU Guile también han estado trabajando desde 2010 en la migración total de GNU Emacs a Guile, Emacs Lisp ahora está siendo implementado por Guile.
Guile-Ncurses es una implementación de Ncurses que permite la creación de interfaces textuales en lenguaje Scheme / Guile. Le confiere al intérprete Scheme GNU Guile la capacidad de interactuar en la entrada de caracteres en modo texto de entorno , independientemente del terminal . Es un paquete de las bibliotecas Ncurses subyacentes. Este proyecto cuya primera versión estable se remonta a 2010 aún lo mantiene el llamado Mike Gran, su creador.
Hay muchos proyectos periféricos independientes del Proyecto GNU, pero dedicados a GNU Guile en forma de módulos , entre los cuales: