2011-12-27 38 views
14

Điều này có vẻ là câu hỏi ngớ ngẩn nhưng đối với tôi, điều đó thật khó chịu.Công cụ lập trình GUI Haskell

Tôi đã cài đặt nền tảng Haskell trong PC của mình bằng cách sử dụng Tùy chọn di động từ các tùy chọn cài đặt vì tôi không có đặc quyền quản trị viên. Vì vậy, tổng số tệp Haskell hiện được lưu trữ trong D Drive và tôi có thể sử dụng tệp này mà không gặp bất kỳ sự cố nào. Nhưng khi tôi tìm kiếm lập trình GUI trong Haskell, tôi đã có nhiều bài viết trong Google và tôi đã đi đến kết luận cuối cùng rằng tôi cần một thư viện hoặc công cụ hoặc plugin khác ( Tôi không biết chính xác là) để lập trình GUI có thể trong Haskell.
Nhưng ở đây câu hỏi của tôi là:

  1. Công cụ tốt nhất cho cửa sổ để lập trình GUI là gì?
  2. Cách cài đặt thư viện hoặc công cụ bổ sung và đính kèm nó vào nền tảng Haskell di động?
+3

Tôi nghĩ rằng vấn đề chính với lập trình GUI trong Haskell trên Windows là cài đặt các thư viện C/C++ cơ bản. Tuy nhiên, tôi không sử dụng GUI và Windows, vì vậy tôi có thể không tin tưởng. –

+2

Không thực sự là câu trả lời, nhưng nếu bạn không có đặc quyền quản trị, tôi khuyên bạn nên làm những việc như thế này trên một máy Linux ảo nơi bạn làm. Bạn có thể dễ dàng chuyển các ứng dụng này sang Windows sau này nếu bạn đã sử dụng ví dụ: gtk2hs cho GUI. – leftaroundabout

+1

@leftaroundabout Cài đặt máy ảo là một lựa chọn rất tốt, nhưng để cài đặt lại máy ảo tôi cần quyền quản trị :-) – Exception

Trả lời

13

Wiki Haskell có comprehensive list thư viện GUI có sẵn cho Haskell.

Vấn đề với lập trình GUI trong Haskell không quá thiếu các công cụ và thư viện, nhưng việc sử dụng Haskell để viết các chương trình GUI theo kiểu định hướng sự kiện bắt buộc không tận dụng đầy đủ tính chất chức năng của Haskell.

Có một số cách tiếp cận nhằm giải quyết vấn đề này, nhưng theo như tôi biết, tất cả chúng đều ở giai đoạn "nghiên cứu", nghĩa là chúng chưa hoàn toàn trưởng thành (cả về lý thuyết lẫn trong thực hành) như các kỹ thuật chủ đạo (phi chức năng). Nếu bạn quan tâm đến hướng này, hãy xem một số dự án phản ứng chức năng được liệt kê trong trang wiki đó, cũng như reactive-banana.

Đối với câu hỏi thứ hai của bạn (cách cài đặt thư viện Haskell), bạn có thể sử dụng cabal, được bao gồm trong Nền tảng Haskell. This page giải thích cách cài đặt các gói với nó.

+6

Vấn đề cụ thể với các công cụ GUI trên Windows là cài đặt các thư viện C/C++ cơ bản. cabal-install là một chút giúp đỡ ở đó. – nponeccop

Các vấn đề liên quan