WxHaskell
Encyclopedia
wxHaskell is a portable and native GUI
library for Haskell
, built on wxWidgets
. It is often used by those wanting to develop a GUI with a functional language.
As a contrast, the high-level GUI library FG and Grapefruit are implemented on top of the middle-level Gtk2Hs, which is based on GTK2.
All of these high-level libraries are experimental, using advanced mathematical concepts in their approach: see arrows in functional programming
.
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
library for Haskell
Haskell (programming language)
Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...
, built on wxWidgets
WxWidgets
wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...
. It is often used by those wanting to develop a GUI with a functional language.
High-level GUI libraries built on top of wxHaskell
As a comparison shows , wxHaskell is a middle-level GUI library. Several experimental high-level GUI library approaches are implemented on top of wxHaskell:As a contrast, the high-level GUI library FG and Grapefruit are implemented on top of the middle-level Gtk2Hs, which is based on GTK2.
All of these high-level libraries are experimental, using advanced mathematical concepts in their approach: see arrows in functional programming
Arrows in functional programming
In computer science, arrows provide a more general interface to computation than monads. Monads essentially provide a sequential interface to computation: one can build a computation out of a value, or sequence two computations. Arrows provide more possibilities, including expressing parallel...
.
External links
- Web page of the wxHaskell project
- The 2004 ICFP Programming Contest. The winning entry by the team Dunkosmiloolump was written in Haskell and wxHaskell.
- A more advanced intro.
- Unofficial help about compiling wxHaskell 0.9.4 with wxWidgets 2.8