Actualmente estoy siguiendo los ejercicios en el libro: "The Haskell School of Expression" y he llegado al tercer capítulo sobre creación de gráficos. El libro usa el módulo SOEGraphics y muestra cómo dibujar un texto simple en una ventana y luego cerrarlo presionando un botón.Ventana de Haskell SOEGraphics no se cerrará
Sin embargo, cuando compilo y ejecuto, encuentro que aunque la ventana aparece con el texto en pantalla, la ventana se niega a cerrarse independientemente de qué teclas presione o si el foco está en la línea de comandos o en la ventana.
Aquí está el código fuente del libro:
module Main where
import SOE
main = runGraphics(
do w <- openWindow
"My First Graphics Program" (300, 300)
drawInWindow w (text(100,200) "HelloGraphicsWorld")
k <- getKey w
closeWindow w
)
La única manera de conseguir la ventana para cerrar es por lo que obligó a dejar de fumar con CTRL-C. ¿Hay algo que he pasado por alto con mi código? El programa se compiló usando GHC 7.4.1 y se ejecutó en Ubuntu.
¿De dónde sacaste el módulo? El paquete HGL en hackage no se compila con GHC> = 7, por lo que puedo ver. –
¿Quizás estoy confundido sobre a qué bibliotecas me refiero? Seguí las instrucciones para que SOEGraphics funcione [aquí] (http://www.cs.yale.edu/homes/hudak/SOE/software1.htm) –
De acuerdo, es una fuente bastante reciente, por lo que debería funcionar.No sabía que el código SOE se había eliminado de HGL nuevamente, y su enlace a los documentos de abrazos (¡la última versión de los abrazos fue en septiembre de 2006!) Me hizo preguntarme. Aunque no sé lo que podría causar la caída. ¿Podría ser el almacenamiento en búfer, de modo que la pulsación de tecla solo se envíe después de presionar ''? (Improbable, pero la única suposición que puedo ofrecer.) –