Habilitar teclas de dirección en el REPL de Guile
Cuando uno lanza el intérprete interactivo de Guile por primera vez nota que las teclas de dirección no hacen lo que uno esperaría sino que introducen caracteres extraños. Todo me imaginé, menos que se debiera a algo relacionado con las licencias de GNU Guile y GNU Readline. Pero hay solución.

Figura 1. Captura del REPL de Guile mostrando un ejemplo del comportamiento indeseado de las teclas de dirección.
En los intérpretes interactivos de diferentes lenguajes de programación, se usan convencionalmente las teclas de dirección izquierda y derecha para desplazar el cursor de texto en esas direcciones y las teclas arriba y abajo para buscar en el historial texto que se tecleó con anterioridad.
Desafortunadamente, al usar el intérprete interactivo (REPL) de GNU Guile por primera vez (versión 2.0.11, en este caso), noté que esta funcionalidad no está activada predeterminadamente. En vez de desplazamiento de izquierda a derecha y navegación por el historial, lo único que obtiene uno son caracteres «sin sentido» cada vez que se presiona alguna de las teclas de dirección (ver Figura 1). Esa no es una buena experiencia para alguien que apenas está empezando a usar la herramienta.
Aparentemente, la biblioteca necesaria para proporcionar la funcionalidad en cuestión, GNU Readline, no se puede cargar predeterminadamente en GNU Guile por cosas de licencias —Guile se distribuye con licencia LGPL y Readline con licencia GPL—.
Solución
Afortunadamente, el inconveniente se soluciona activando Readline manualmente. Para hacerlo, se debe crear el archivo .guile en la carpeta de usuario y agregarle las siguientes líneas:
;;; Cargar y activar GNU Readline en el REPL (use-modules (ice-9 readline)) (activate-readline)
Eso es todo. Ahora se puede lanzar el intérprete y usar felizmente las teclas de dirección.
Temas relacionados: