fbpx
Wikipedia

GNU Guile

GNU Guile es el intérprete preferido para el proyecto GNU, cuenta con una implementación del lenguaje de programación Scheme.[2]​ Su primera versión fue lanzada en 1993.[3]​ Guile incluye extensiones modulares para muchas tareas de programación diferentes, como las llamadas a sistemas POSIX, entre otras.[4]

GNU Guile
Información general
Tipo de programa software libre
Desarrollador Proyecto GNU
Lanzamiento inicial 1993
Licencia
Información técnica
Programado en C
Interfaz gráfica predeterminada Ncurses
Versiones
Última versión estable 3.0.3 ( 21 de junio de 2020[1]​)
Última versión en pruebas 2.9.2
Historial de versiones
Enlaces
Sitio web oficial
Repositorio de código
Seguimiento de errores

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.[5]

El acrónimo Guile significa GNU Ubiquitous Intelligent Language for Extensions.[6]​ Se utiliza en programas como GnuCash, GNU Guix, GuixSD, GNU Debugger, Lepton-EDA y LilyPond.[7][8]

Guile Scheme

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.[9]

La distribución estándar ofrece módulos para llamadas de sistemas POSIX,[n 1]planificadores,[n 2]​ una interfaz de funciones foráneas,[n 3]​ expresiones S[n 4]​ basadas en el procesamiento de XML a partir de SXML,[n 5]​ SXPath[n 6]​ y SXSLT.[n 7]​ También incluye el protocolo HTTP y otras APIs web, continuación delimitada,[n 8]programación de vectores,[n 9][4]​ y otras funciones. Los programas escritos en Guile pueden usar las instalaciones de SLIB, la biblioteca portable de Scheme.[20]

Historia

Después del éxito de Emacs en la comunidad del software libre como una aplicación con alta capacidad de extensión y personalización a partir de su lenguaje de extensión Emacs Lisp,[21]​ comenzó a plantearse como esta estrategia de diseño podría aplicarse al resto del sistema GNU.[22]​ Tom Lord, programador de Lisp y Scheme de la Free Software Foundation, comenzó a trabajar inicialmente en un lenguaje llamado GNU Extensión Language (GEL), basado en SCM (una implementación de Scheme), una implementación de Scheme en escrita en C por Aubrey Jaffer ―a su vez basado en Scheme In One Defun, desarrollado por George J. Carrete—. Lord convenció a Richard Stallman para que GEL fuese el lenguaje de extensión del proyecto GNU, argumentó que Scheme era un dialecto de Lisp más limpio que Emacs Lisp, y que GEL podría evolucionar para implementar otros idiomas al mismo tiempo, como Emacs Lisp.[23]

Lord solicitó sugerencias para renombrar GEL después de que descubriese que el nombre estaba registrado por Sybase Incorporate. Después de varias contribuciones en diferentes grupos de noticias, Lord eligió Guile, una sugerencia realizada por Lee Thomas, aunque causó controversia.[24][25][26]

Durante el desarrollo de Guile y antes de su publicación, el lenguaje de extensión Tcl comenzó a ganar popularidad, lo que lo impulsó como lenguaje de extensión universal. Richard Stallman pensaba que Tcl era un lenguaje con poca potencia como para ser un lenguaje de extensión universal, por lo que publicó una crítica en el grupo de noticias comp.lang.tcl, lo que inició las denominadas Tcl Wars (en español, guerras Tcl).[27]​ El anuncio público del proyecto Guile coincidió con el debate sobre Tcl, lo que fomentó la idea equivocada de que Guile se comenzó a desarrollar como una reacción a esto.[23]

Después de la publicación inicial de Guile, su desarrollo decayó durante muchos años, hasta que entre 2009 y 2010 comenzó a experimentar grandes mejoras.[28]​ Guile 2.0 se publicó en 2011 con una nueva infraestructura de compilación, una máquina virtual implementada, un conmutador para el recolector de basura Boehm-Demers-Weiser, muchas mejoras del núcleo del lenguaje y otras cambios mayores.[29]

Uno de los objetivos de Guile es ofrecer un entorno de lenguaje neutral que permita el uso de otros lenguajes junto a Scheme. Esto se ha aplicado progresivamente: un dialecto de Scheme que solo se diferencia debido a su sintaxis al estilo de C, una implementación de Emacs Lisp y un conversor Tcl inspirando en el navegador web y editor WYSIWYG tkWWW.[30]​ Con la versión 2.0, el proyecto comenzó su transición hacia el concepto «torre compiladora», ya que permite la definición de compiladores de un lenguaje en otro, normalmente desde uno de nivel más alto a otro de lenguaje intermedio de nivel más bajo y, ocasionalmente, a una máquina virtual bytecode y a lenguaje de máquina.[31][32]

Integración de Emacs

Con la versión 2.0 de Guile se comienza a desarrollar libguile, biblioteca con la que se intenta implementar Elisp en la torre compiladora y reemplazar la implementación Elisp de Emacs. Se produjeron avances significativos a partir de los proyectos elaborados durante el Google Summer of Code.[33]

A partir de octubre de 2014, la implementación alcanzó una fase en la que Guile Emacs ya está capacitado para ejecutar la mayor parte del código Elisp. Los problemas que aún quedan, o que se podrían producir, implican la diferencia entre la representación interna de las cadenas de Elisp y las de Scheme, la diferencia entre ambos al utilizar el booleano false y las listas de objetos vacíos, las macros de Elisp que aún no están integradas, y la portabilidad de Guile a plataformas soportadas por Emacs. Otras preocupaciones planteadas por la comunidad de Emacs son las referidas a los tamaños relativos de ambas comunidades, Emacs y Guile, y si causaría división de la comunidad que Emacs fuese extensible a otros lenguajes de programación.[34]

Véase también

Notas

  1. POSIX es el acrónimo de Portable Operating System Interface ―la X hace referencia a Unix―, en español, interfaz de sistema operativo portable. Es una serie de estándares estipulados por el IEEE para definir una interfaz estándar del sistema operativo y de su entorno con el objetivo de aumentar la compatibilidad de los programas entre diferentes sistemas operativos.[10]
  2. Componente de los sistemas operativos multitarea y multiproceso que consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que están disponibles para su ejecución.[11]
  3. Mecanismo por el cual un programa escrito en un lenguaje de programación puede ejecutar funciones de otro lenguaje.[12]
  4. Notación para datos de listas anidadas (estructura de árbol), inventadas y popularizadas por el lenguaje de programación Lisp. En inglés se conoce como S-expressions, sexprs o sexps.[13]
  5. Sintaxis alternativa para facilitar el trabajo de datos XML ―concretamente XML Infosets― en Lisp y Scheme a partir de expresiones S.[14]
  6. Lenguaje de consulta en forma de expresiones S.[15][16]
  7. Lenguaje de transformación de XML de orden superior. Kiselyov y Krishnamurthi lo definen como un lenguaje más expresivo, sencillo y coherente que XSLT.[17]
  8. Consiste en la representación de una sola parte del resto de un cálculo.[18]
  9. Las arrays son colecciones de celdas organizadas en un número arbitrario de dimensiones. Cada dimensión corresponde a un elemento de la array, para acceder a un elemento concreto se tiene que señalar el índice del elemento.[19]

Referencias

  1. Wingo, Andy (15 de enero de 2020). «GNU Guile 3.3.3 released». GNU Guile. Free Software Foundation, Inc. Consultado el 15 de enero de 2020. 
  2. «GNU Coding Standards: 3.1 Which Languages to Use». www.gnu.org. Consultado el 28 de julio de 2017. 
  3. Blandy, 1998, p. 102.
  4. «Guile Reference Manual: Guile Modules». www.gnu.org. Consultado el 28 de julio de 2017. 
  5. Blandy, 1997, pp. 94, 96. «To encourage customization, Guile provides extensive interfaces, allowing C code to interact with the Scheme world. C code can freely create, access, and mutate Scheme objects; C functions may call Scheme functions and vice versa; C code may add new types to the Scheme world and take advantage of Guile's garbage collection... Most of the standard Scheme procedures are implemented by C functions, visible to Guile clients; for example, applications can call the C function scm_cons, which is the underlying implementation of the Scheme procedures cons.»
  6. «GNU's programming and extension language — GNU Guile». www.gnu.org (en inglés). Consultado el 2 de enero de 2018. «Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system. » 
  7. «LilyPond Contributor's Guide: 10.2 LilyPond programming languages». lilypond.org (en inglés). Consultado el 2 de enero de 2018. 
  8. «Applications using guile — GNU Guile». www.gnu.org (en inglés). Consultado el 2 de enero de 2018. 
  9. Blandy, 1998, p. 87.
  10. «POSIX.1 Backgrounder». www.opengroup.org (en inglés). Consultado el 2 de enero de 2018. 
  11. Krzyzanowski, Paul (18 de febrero de 2015). «Process Scheduling». www.cs.rutgers.edu (en inglés). Consultado el 2 de enero de 2018. 
  12. Heckey, Jason; Madhavapeddy, Anil; Minsky, Yaron (2013). . Chapter 19. Foreign Function Interface / Real World OCaml (en inglés). Archivado desde el original el 18 de julio de 2015. Consultado el 2 de enero de 2018. 
  13. Rivest, R (4 de mayo de 1997). «S-Expressions». mit.edu (en inglés). Consultado el 2 de enero de 2018. 
  14. Kiselyov y Lisovsky, 2002, p. 1.
  15. «SXPath (Guile Reference Manual)». www.gnu.org (en inglés). Consultado el 2 de enero de 2018. 
  16. Kiselyov y Lisovsky, 2002, pp. 3-4.
  17. Kiselyov y Krishnamurthi, 2003, p. 257. This language, SXLST, is more expressive than XSLT and is also simpler and more coherent. SXSLT is a higher order pure functional transformation language based on flexible tree transversals.
  18. Fischer, Sebastian (29 de marzo de 2012). «Laymans explanation of delimited continuations with examples of using them for exception handling and nondeterministic programming.». Gist (en inglés). Consultado el 3 de enero de 2018. 
  19. «Guile Reference Manual: Arrays». www.gnu.org. Consultado el 28 de julio de 2017. 
  20. «Guile Reference Manual: SLIB». www.gnu.org. Consultado el 28 de julio de 2017. 
  21. «Introduction - GNU Emacs Lisp Reference Manual». www.gnu.org (en inglés). Consultado el 2 de enero de 2018. «Emacs Lisp is closely integrated with the editing facilities; thus, editing commands are functions that can also conveniently be called from Lisp programs, and parameters for customization are ordinary Lisp variables ». 
  22. «The Emacs Thesis (Guile Reference Manual)». www.gnu.org (en inglés). Consultado el 2 de enero de 2018. «After the Emacs experience was appreciated more widely, a number of hackers started to consider how to spread this experience to the rest of the GNU system ». 
  23. «Guile Tutorial: 2.2 History of Guile and its motivations». www.delorie.com. Consultado el 28 de julio de 2017. 
  24. Thomas, Lee. «The Name of the Rose». groups.google.com. Consultado el 28 de julio de 2017. 
  25. Thomas, Lee. «Google Groups: Guile - two more reasons to prefer it». groups.google.com. Consultado el 28 de julio de 2017. 
  26. Lord, Tom. «Google Groups: G*L: Important Name Change». groups.google.com. Consultado el 28 de julio de 2017. 
  27. Vanderburg, Glenn. «The Tcl War». Glenn Vanderburg (en inglés estadounidense). Consultado el 28 de julio de 2017. 
  28. Wingo, Andy (30 de junio de 2017). . Advogato: Blog for wingo. Archivado desde el original el 30 de junio de 2017. Consultado el 28 de julio de 2017. 
  29. . www.gnu.org. 28 de marzo de 2014. Archivado desde el original el 28 de marzo de 2014. Consultado el 28 de julio de 2017. 
  30. Lord, 1995, pp. 2-3.
  31. «Guile Reference Manual: Other Languages». www.gnu.org. Consultado el 28 de julio de 2017. 
  32. «Guile Reference Manual: Compiler Tower». www.gnu.org. Consultado el 28 de julio de 2017. 
  33. Templeton, BT (21 de julio de 2011). «Re: ELisp Implementation?». lists.gnu.org. Consultado el 28 de julio de 2017. 
  34. Willis, Nathan. «The future of Emacs, Guile, and Emacs Lisp». lwn.net. Consultado el 28 de julio de 2017. 

Bibliografía

  • Blandy, Jim (1998). «Guile: An Interpreter Core for Complete Applications». En Peter H. Salus, ed. Handbook of Programming Languages (1st edición) (Macmillian Technical Publishing). IV: Functional and Logic Programming Languages: 87–104. ISBN 1-57870-011-6. 
  • Kiselyov, Oleg; Lisovsky, Kirill (2002). «XML, XPath, XSLT implementations as SXML, SXPath, and SXSLT». International Lisp Conference ILC 2002 (San Francisco): 12. Consultado el 2 de enero de 2018. 
  • Kiselyov, Oleg; Krishnamurthi, Shriram (13 de enero de 2003). «SXSLT: Manipulation Language for XML». Practical Aspects of Declarative Languages. Lecture Notes in Computer Science (en inglés) (Berlín: Springer): 256-272. ISBN 3540363882. doi:10.1007/3-540-36388-2_18. Consultado el 2 de enero de 2018. 
  • Lord, Thomas (1995). «An Anatomy of Guile, The Interface to Tcl/Tk». USENIX Third Annual Tcl/Tk Workshop (Toronto): 21. Consultado el 28 de julio de 2017. 

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre GNU Guile.
  • GNU Guile homepage (en inglés)
  •   Datos: Q1486208
  •   Multimedia: Guile / Q1486208

guile, intérprete, preferido, para, proyecto, cuenta, implementación, lenguaje, programación, scheme, primera, versión, lanzada, 1993, guile, incluye, extensiones, modulares, para, muchas, tareas, programación, diferentes, como, llamadas, sistemas, posix, entr. GNU Guile es el interprete preferido para el proyecto GNU cuenta con una implementacion del lenguaje de programacion Scheme 2 Su primera version fue lanzada en 1993 3 Guile incluye extensiones modulares para muchas tareas de programacion diferentes como las llamadas a sistemas POSIX entre otras 4 GNU GuileInformacion generalTipo de programasoftware libreDesarrolladorProyecto GNULanzamiento inicial1993Licencia variasGNU Lesser General Public License version 3 0 or laterGNU General Public License version 3 0 o posteriorInformacion tecnicaProgramado enCInterfaz grafica predeterminadaNcursesVersionesUltima version estable3 0 3 21 de junio de 2020 1 Ultima version en pruebas2 9 2Historial de versiones Estables3 0 811 de febrero de 2022 3 0 710 de mayo de 2021 3 0 628 de abril de 2021 3 0 57 de enero de 2021 3 0 424 de junio de 2020 3 0 321 de junio de 2020 3 0 227 de marzo de 2020 3 0 18 de marzo de 2020 3 0 015 de enero de 2020 2 2 6 2 2 5 2 2 4 2 2 31 de diciembre de 2017 2 2 016 de marzo de 2017 2 0 1214 de julio de 2016 2 0 910 de abril de 2013 1 8 813 de diciembre de 2010 1 8 75 de julio de 2009 1 8 68 de diciembre de 2008 1 8 57 de mayo de 2008 1 8 419 de febrero de 2008 1 8 316 de octubre de 2007 1 8 216 de julio de 2007 1 8 17 de octubre de 2006 1 8 020 de febrero de 2006 1 6 828 de mayo de 2006 Pruebas2 9 2 2 1 319 de junio de 2016 2 1 14 de noviembre de 2015EnlacesSitio web oficial Repositorio de codigo Seguimiento de errores editar datos en Wikidata Para ampliar los programas Guile cuenta con libguile una biblioteca que permite insertarlo en otros programas e integrarlo con exactitud mediante la interfaz de programacion de aplicaciones API del lenguaje de programacion C De manera similar los nuevos tipos y subrutinas definidas a traves de esta API pueden ponerse a disposicion del usuario como extensiones de Guile 5 El acronimo Guile significa GNU Ubiquitous Intelligent Language for Extensions 6 Se utiliza en programas como GnuCash GNU Guix GuixSD GNU Debugger Lepton EDA y LilyPond 7 8 Indice 1 Guile Scheme 2 Historia 2 1 Integracion de Emacs 3 Vease tambien 4 Notas 5 Referencias 6 Bibliografia 7 Enlaces externosGuile Scheme EditarLa idea principal de Guile Scheme es que el desarrollador implemente algoritmos criticos y estructuras de datos en C o C y exporte las funciones y tipos para que sean usados por el codigo interpretado Por lo tanto Guile Scheme y otros lenguajes implementados por Guile puede ampliarse con nuevos tipos y subrutinas implementadas a traves de la API de C 9 La distribucion estandar ofrece modulos para llamadas de sistemas POSIX n 1 planificadores n 2 una interfaz de funciones foraneas n 3 expresiones S n 4 basadas en el procesamiento de XML a partir de SXML n 5 SXPath n 6 y SXSLT n 7 Tambien incluye el protocolo HTTP y otras APIs web continuacion delimitada n 8 programacion de vectores n 9 4 y otras funciones Los programas escritos en Guile pueden usar las instalaciones de SLIB la biblioteca portable de Scheme 20 Historia EditarDespues del exito de Emacs en la comunidad del software libre como una aplicacion con alta capacidad de extension y personalizacion a partir de su lenguaje de extension Emacs Lisp 21 comenzo a plantearse como esta estrategia de diseno podria aplicarse al resto del sistema GNU 22 Tom Lord programador de Lisp y Scheme de la Free Software Foundation comenzo a trabajar inicialmente en un lenguaje llamado GNU Extension Language GEL basado en SCM una implementacion de Scheme una implementacion de Scheme en escrita en C por Aubrey Jaffer a su vez basado en Scheme In One Defun desarrollado por George J Carrete Lord convencio a Richard Stallman para que GEL fuese el lenguaje de extension del proyecto GNU argumento que Scheme era un dialecto de Lisp mas limpio que Emacs Lisp y que GEL podria evolucionar para implementar otros idiomas al mismo tiempo como Emacs Lisp 23 Lord solicito sugerencias para renombrar GEL despues de que descubriese que el nombre estaba registrado por Sybase Incorporate Despues de varias contribuciones en diferentes grupos de noticias Lord eligio Guile una sugerencia realizada por Lee Thomas aunque causo controversia 24 25 26 Durante el desarrollo de Guile y antes de su publicacion el lenguaje de extension Tcl comenzo a ganar popularidad lo que lo impulso como lenguaje de extension universal Richard Stallman pensaba que Tcl era un lenguaje con poca potencia como para ser un lenguaje de extension universal por lo que publico una critica en el grupo de noticias comp lang tcl lo que inicio las denominadas Tcl Wars en espanol guerras Tcl 27 El anuncio publico del proyecto Guile coincidio con el debate sobre Tcl lo que fomento la idea equivocada de que Guile se comenzo a desarrollar como una reaccion a esto 23 Despues de la publicacion inicial de Guile su desarrollo decayo durante muchos anos hasta que entre 2009 y 2010 comenzo a experimentar grandes mejoras 28 Guile 2 0 se publico en 2011 con una nueva infraestructura de compilacion una maquina virtual implementada un conmutador para el recolector de basura Boehm Demers Weiser muchas mejoras del nucleo del lenguaje y otras cambios mayores 29 Uno de los objetivos de Guile es ofrecer un entorno de lenguaje neutral que permita el uso de otros lenguajes junto a Scheme Esto se ha aplicado progresivamente un dialecto de Scheme que solo se diferencia debido a su sintaxis al estilo de C una implementacion de Emacs Lisp y un conversor Tcl inspirando en el navegador web y editor WYSIWYG tkWWW 30 Con la version 2 0 el proyecto comenzo su transicion hacia el concepto torre compiladora ya que permite la definicion de compiladores de un lenguaje en otro normalmente desde uno de nivel mas alto a otro de lenguaje intermedio de nivel mas bajo y ocasionalmente a una maquina virtual bytecode y a lenguaje de maquina 31 32 Integracion de Emacs Editar Con la version 2 0 de Guile se comienza a desarrollar libguile biblioteca con la que se intenta implementar Elisp en la torre compiladora y reemplazar la implementacion Elisp de Emacs Se produjeron avances significativos a partir de los proyectos elaborados durante el Google Summer of Code 33 A partir de octubre de 2014 la implementacion alcanzo una fase en la que Guile Emacs ya esta capacitado para ejecutar la mayor parte del codigo Elisp Los problemas que aun quedan o que se podrian producir implican la diferencia entre la representacion interna de las cadenas de Elisp y las de Scheme la diferencia entre ambos al utilizar el booleano false y las listas de objetos vacios las macros de Elisp que aun no estan integradas y la portabilidad de Guile a plataformas soportadas por Emacs Otras preocupaciones planteadas por la comunidad de Emacs son las referidas a los tamanos relativos de ambas comunidades Emacs y Guile y si causaria division de la comunidad que Emacs fuese extensible a otros lenguajes de programacion 34 Vease tambien EditarProyecto GNU Paquetes GNU Notas Editar POSIX es el acronimo de Portable Operating System Interface la X hace referencia a Unix en espanol interfaz de sistema operativo portable Es una serie de estandares estipulados por el IEEE para definir una interfaz estandar del sistema operativo y de su entorno con el objetivo de aumentar la compatibilidad de los programas entre diferentes sistemas operativos 10 Componente de los sistemas operativos multitarea y multiproceso que consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que estan disponibles para su ejecucion 11 Mecanismo por el cual un programa escrito en un lenguaje de programacion puede ejecutar funciones de otro lenguaje 12 Notacion para datos de listas anidadas estructura de arbol inventadas y popularizadas por el lenguaje de programacion Lisp En ingles se conoce como S expressions sexprs o sexps 13 Sintaxis alternativa para facilitar el trabajo de datos XML concretamente XML Infosets en Lisp y Scheme a partir de expresiones S 14 Lenguaje de consulta en forma de expresiones S 15 16 Lenguaje de transformacion de XML de orden superior Kiselyov y Krishnamurthi lo definen como un lenguaje mas expresivo sencillo y coherente que XSLT 17 Consiste en la representacion de una sola parte del resto de un calculo 18 Las arrays son colecciones de celdas organizadas en un numero arbitrario de dimensiones Cada dimension corresponde a un elemento de la array para acceder a un elemento concreto se tiene que senalar el indice del elemento 19 Referencias Editar Wingo Andy 15 de enero de 2020 GNU Guile 3 3 3 released GNU Guile Free Software Foundation Inc Consultado el 15 de enero de 2020 GNU Coding Standards 3 1 Which Languages to Use www gnu org Consultado el 28 de julio de 2017 Blandy 1998 p 102 a b Guile Reference Manual Guile Modules www gnu org Consultado el 28 de julio de 2017 Blandy 1997 pp 94 96 To encourage customization Guile provides extensive interfaces allowing C code to interact with the Scheme world C code can freely create access and mutate Scheme objects C functions may call Scheme functions and vice versa C code may add new types to the Scheme world and take advantage of Guile s garbage collection Most of the standard Scheme procedures are implemented by C functions visible to Guile clients for example applications can call the C function scm cons which is the underlying implementation of the Scheme procedures cons GNU s programming and extension language GNU Guile www gnu org en ingles Consultado el 2 de enero de 2018 Guile is the GNU Ubiquitous Intelligent Language for Extensions the official extension language for the GNU operating system LilyPond Contributor s Guide 10 2 LilyPond programming languages lilypond org en ingles Consultado el 2 de enero de 2018 Applications using guile GNU Guile www gnu org en ingles Consultado el 2 de enero de 2018 Blandy 1998 p 87 POSIX 1 Backgrounder www opengroup org en ingles Consultado el 2 de enero de 2018 Krzyzanowski Paul 18 de febrero de 2015 Process Scheduling www cs rutgers edu en ingles Consultado el 2 de enero de 2018 Heckey Jason Madhavapeddy Anil Minsky Yaron 2013 13 Chapter 19 Foreign Function Interface Real World OCaml en ingles Archivado desde el original el 18 de julio de 2015 Consultado el 2 de enero de 2018 Rivest R 4 de mayo de 1997 S Expressions mit edu en ingles Consultado el 2 de enero de 2018 Kiselyov y Lisovsky 2002 p 1 SXPath Guile Reference Manual www gnu org en ingles Consultado el 2 de enero de 2018 Kiselyov y Lisovsky 2002 pp 3 4 Kiselyov y Krishnamurthi 2003 p 257 This language SXLST is more expressive than XSLT and is also simpler and more coherent SXSLT is a higher order pure functional transformation language based on flexible tree transversals Fischer Sebastian 29 de marzo de 2012 Laymans explanation of delimited continuations with examples of using them for exception handling and nondeterministic programming Gist en ingles Consultado el 3 de enero de 2018 Guile Reference Manual Arrays www gnu org Consultado el 28 de julio de 2017 Guile Reference Manual SLIB www gnu org Consultado el 28 de julio de 2017 Introduction GNU Emacs Lisp Reference Manual www gnu org en ingles Consultado el 2 de enero de 2018 Emacs Lisp is closely integrated with the editing facilities thus editing commands are functions that can also conveniently be called from Lisp programs and parameters for customization are ordinary Lisp variables The Emacs Thesis Guile Reference Manual www gnu org en ingles Consultado el 2 de enero de 2018 After the Emacs experience was appreciated more widely a number of hackers started to consider how to spread this experience to the rest of the GNU system a b Guile Tutorial 2 2 History of Guile and its motivations www delorie com Consultado el 28 de julio de 2017 Thomas Lee The Name of the Rose groups google com Consultado el 28 de julio de 2017 Thomas Lee Google Groups Guile two more reasons to prefer it groups google com Consultado el 28 de julio de 2017 Lord Tom Google Groups G L Important Name Change groups google com Consultado el 28 de julio de 2017 Vanderburg Glenn The Tcl War Glenn Vanderburg en ingles estadounidense Consultado el 28 de julio de 2017 Wingo Andy 30 de junio de 2017 Older blog entries for wingo starting at number 328 Advogato Blog for wingo Archivado desde el original el 30 de junio de 2017 Consultado el 28 de julio de 2017 GNU Guile News www gnu org 28 de marzo de 2014 Archivado desde el original el 28 de marzo de 2014 Consultado el 28 de julio de 2017 Lord 1995 pp 2 3 Guile Reference Manual Other Languages www gnu org Consultado el 28 de julio de 2017 Guile Reference Manual Compiler Tower www gnu org Consultado el 28 de julio de 2017 Templeton BT 21 de julio de 2011 Re ELisp Implementation lists gnu org Consultado el 28 de julio de 2017 Willis Nathan The future of Emacs Guile and Emacs Lisp lwn net Consultado el 28 de julio de 2017 Bibliografia EditarBlandy Jim 1998 Guile An Interpreter Core for Complete Applications En Peter H Salus ed Handbook of Programming Languages 1st edicion Macmillian Technical Publishing IV Functional and Logic Programming Languages 87 104 ISBN 1 57870 011 6 Kiselyov Oleg Lisovsky Kirill 2002 XML XPath XSLT implementations as SXML SXPath and SXSLT International Lisp Conference ILC 2002 San Francisco 12 Consultado el 2 de enero de 2018 Kiselyov Oleg Krishnamurthi Shriram 13 de enero de 2003 SXSLT Manipulation Language for XML Practical Aspects of Declarative Languages Lecture Notes in Computer Science en ingles Berlin Springer 256 272 ISBN 3540363882 doi 10 1007 3 540 36388 2 18 Consultado el 2 de enero de 2018 Lord Thomas 1995 An Anatomy of Guile The Interface to Tcl Tk USENIX Third Annual Tcl Tk Workshop Toronto 21 Consultado el 28 de julio de 2017 Enlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre GNU Guile GNU Guile homepage en ingles Datos Q1486208 Multimedia Guile Q1486208 Obtenido de https es wikipedia org w index php title GNU Guile amp oldid 139153198, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos