Tôi hiện đang theo dõi các bài tập trong cuốn sách: "Trường biểu đạt Haskell" và đã đạt đến chương thứ ba về cách tạo đồ họa. Cuốn sách sử dụng mô-đun SOEGraphics và minh họa vẽ một số văn bản đơn giản trong một cửa sổ và sau đó đóng nó bằng một nút bấm. Tuy nhiên, khi sau khi biên dịch và thực hiện, tôi thấy rằng mặc dù cửa sổ xuất hiện với văn bản trên màn hình, cửa sổ từ chối đóng bất kể tôi nhấn phím nào hay tập trung vào dòng lệnh hay chính cửa sổ.Cửa sổ Haskell SOEGraphics sẽ không đóng
Đây là mã nguồn từ cuốn sách:
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
)
Cách duy nhất để có được những cửa sổ đóng cửa là bằng cách buộc nó để bỏ thuốc lá với tổ hợp phím CTRL-C. Có cái gì tôi đã bỏ qua với mã của tôi? Chương trình được biên dịch bằng GHC 7.4.1 và được chạy trên Ubuntu.
Bạn lấy mô-đun từ đâu? Gói HGL về hackage không xây dựng với GHC> = 7, theo như tôi thấy. –
Có lẽ tôi đang bối rối về những thư viện mà tôi đang đề cập đến? Tôi làm theo hướng dẫn để có được SOEGraphics làm việc [ở đây] (http://www.cs.yale.edu/homes/hudak/SOE/software1.htm) –
Được rồi, đó là một nguồn khá gần đây, do đó, nó _should_ làm việc.Tôi không biết rằng mã SOE đã được di chuyển ra khỏi HGL một lần nữa, và liên kết của bạn với các tài liệu ôm (phát hành cuối cùng của ôm là tháng 9 năm 2006!) Làm cho tôi tự hỏi. Tôi không biết những gì có thể gây ra hang, mặc dù. Nó có thể được đệm, để bấm phím chỉ được gửi sau khi nhấn ' '? (Không chắc chắn, nhưng tôi đoán là tôi chỉ có thể cung cấp.) –