wxHaskell

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
wxHaskell
Besturingssysteem Cross-platform
Categorie Widget toolkit
Licentie Licentie van wxWidgets
Website http://wxhaskell.sourceforge.net/
Portaal  Portaalicoon   Informatica

wxHaskell is een GUI bibliotheek voor de functionele programmeertaal Haskell. Het is een bibliotheek voor wxWidgets, een bibliotheek geschreven in C++ die op allerlei computerplatformen, zoals Windows, GTK+ en Mac OS X, gebruikt kan worden. wxHaskell is hoofdzakelijk ontwikkeld en ontworpen door Daan Leijen.

Overzicht[bewerken]

De bibliotheek bestaat uit twee delen: Graphics.UI.WXCore, de interface tussen Haskell en de wxWidgets-bibliotheek, en Graphics.UI.WX, een abstractie daar bovenop. De WXCore-bibliotheek biedt enkele abstracties maar geen zaken als overloading of nieuwe monads. De WX-bibliotheek biedt dit soort zaken wel voor het instellen van eigenschappen en attributen van onderdelen van de interface.

wxHaskell maakt gebruik van combinatoren voor het specificeren van de lay-out. Deze combinatoren kunnen gebruikt worden om de eigenschappen van de widgets (alignment, expansion en stretch) in te stellen.

Licentie[bewerken]

wxHaskell is beschikbaar onder dezelfde licentie als wxWidgets. Deze licentie is bijna identiek aan de Library General Public Licence met één wijziging: werken die met deze bibliotheek zijn gemaakt, kunnen worden uitgebracht onder eigen voorwaarden. Hiermee is het ook mogelijk commerciële applicaties te maken zonder bijvoorbeeld de broncode vrij te hoeven geven.

Voorbeeld[bewerken]

De onderstaande code toont een klein venster met de titel "Hello!" en een werkende knop om af te sluiten:

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]

Externe links[bewerken]