Haskell で GUI


Windows で Gtk2Hs が動きました。
gtk2hs-0.10.1-win32-installer は GHC 6.10.3 が先にインストールされている必要があります。

{-
ghc --make -optl-mwindows HelloGtk.hs -o HelloGtk
-}
import Graphics.UI.Gtk

hello :: (ButtonClass o) => o -> IO ()
hello b = set b [buttonLabel := "こんにちは"]

main :: IO ()
main = do
 initGUI
 window <- windowNew
 button <- buttonNew
 set window [windowDefaultWidth := 200, windowDefaultHeight := 200,
             containerChild := button, containerBorderWidth := 10]
 onClicked button (hello button)
 onDestroy window mainQuit
 widgetShowAll window
 mainGUI
PS C:\gtk2hs> ghc --make -optl-mwindows HelloGtk.hs -o HelloGtk
[1 of 1] Compiling Main             ( HelloGtk.hs, HelloGtk.o )
Linking HelloGtk.exe ...

PS C:\gtk2hs> ./HelloGtk