Cookbook/Graphical user interfaces
wxHaskell[edit]
wxHaskell is a portable and native GUI library for Haskell based on the wxWidgets Library.
Hello World example:
module Main where
import Graphics.UI.WX
main :: IO ()
main
= start hello
hello :: IO ()
hello
= do f <- frame [text := "Hello!"]
quit <- button f [text := "Quit", on command := close f]
set f [layout := widget quit]
This code was taken from "a quick start with wxHaskell".
Gtk2Hs[edit]
Gtk2Hs is a GUI Library for Haskell based on GTK. Gtk2Hs Tutorial.
Hello world example:
import Graphics.UI.Gtk
main :: IO ()
main = do
initGUI
w <- windowNew
b <- buttonNew
set b [buttonLabel := "Quit"]
onClicked b $ widgetDestroy w
set w [windowTitle := "Hello", containerBorderWidth := 10]
containerAdd w b
onDestroy w mainQuit
widgetShowAll w
mainGUI
For more examples, see: Applications and libraries/Games
HOpenGL[edit]
HOpenGL is a Haskell binding for the OpenGL graphics API (GL 1.2.1 / GLU 1.3) and the portable OpenGL utility toolkit GLUT. There is a Haskell OpenGL Tetris program at [[1]] by Jim.
See also: Applications and libraries/Games