WikiDer > WxHaskell

wxHaskell
wxHaskell
BetriebssystemPlattformübergreifend
KategorieWidget-Toolkit
LizenzLizenz von wxWidgets
Webseitehttps://wiki.haskell.org/WxHaskell
Portal  Portalsymbol  Informatik

wxHaskell ist ein GUIBibliothek für die funktionale ProgrammierspracheHaskell. Es ist ein Bibliothek vor dem wxWidgets, eine Bibliothek geschrieben in C die auf allen möglichen Computerplattformen, wie Fenster, GTK und Mac OS X, kann verwendet werden. wxHaskell wird hauptsächlich von Daan Leijen entwickelt und gestaltet.

Überblick

Die Software besteht aus vier Teilen:

  • wxdirekt, ein Programm, das speziell geschriebene C-Header liest und Haskell-FFI-Bindungen auf niedriger Ebene für die exportierten Funktionen schreibt
  • wxc, eine DLL mit C-Schnittstelle zu wxWidgets (Haskell-Compiler können keine Verbindung zu C-Software herstellen). Wxc kann auch für Bindungen mit anderen Sprachen verwendet werden
  • Modul Graphics.UI.WXCore, das Schnittstelle zwischen Haskell und wxc
  • Modul Graphics.UI.WX, ein Abstraktion obendrein. Das WXCore-Bibliothek bietet einige Abstraktionen, aber keine Dinge wie Überlastung oder neu Monaden. Das WXBibliothek bietet diese Art von Dingen zum Festlegen von Eigenschaften und Attributen von Teilen der Schnittstelle

wxHaskell verwendet Combiner, um das Layout anzugeben. Diese Kombinatoren können verwendet werden, um die Eigenschaften der Widgets (Ausrichtung, Erweiterung und strecken) konfigurieren.

Lizenz

wxHaskell ist unter derselben Lizenz verfügbar wie wxWidgets. Diese Lizenz ist fast identisch mit der GNU Lesser General Public License, mit einer Änderung: Werke, die mit dieser Bibliothek erstellt wurden, können zu ihren eigenen Bedingungen veröffentlicht werden. Dadurch ist es auch möglich, kommerzielle Anwendungen zu erstellen, ohne z Quellcode freigeben zu müssen.

Beispiel

Der folgende Code zeigt ein kleines Fenster mit dem Titel "Hallo!" und eine Arbeitstaste zum Beenden:

ModulMainwoimportierenGraphics.UI.WXMain::IO()Main=StartHalloHallo::IO()Hallo=tunf<-Rahmen[Text:="Hallo!"]Verlassen<-Tastef[Text:="Verlassen",aufBefehl:=schließenf]einstellenf[Layout:=WidgetVerlassen]

Externe Links