FranTk is a library for building GUIs in Haskell. Its high level, provides good support for developing complex dynamic systems, and is built on top of Tcl-Tk. This makes it platform independent. FranTk was developed by Meurig Sage.

FranTk (pronounced "frantic") is a declarative library for building GUIs in Haskell. It's designed to allow you to build your application in a declarative manner. It uses behaviours and events, concepts from Conal Elliot's Functional Reactive Animation. These allow you to model a system over time. Events are used to describe values that occur discretely, such as button clicks. Behaviors are continuous quantities that vary over time. They are used to represent the state of an application. Events and behaviors can interact. For instance, we can have a behavior that changes on every event. You can then render this application on to an interface.

FranTk provides a full range of widgets for building user interfaces, including strong support for building interfaces with dynamically changing numbers of widgets.

FranTk works under hugs98 and ghc-4.04.

FranTk currently lives on top of Tcl-Tk (working via TclHaskell). It provides a platform independent way to develop GUIs. Tcl-Tk runs on windows, macs and unix without altering source code, and provides native look and feel. FranTk has been developed with Tcl8.0. (It should work with later versions too.) You'll need tcl-tk 8.0. Get it from

Download the usermanual in Adobe pdf format, compressed postcript or microsoft word.

If you don't have a pdf viewer then go to adobe's website.

Here is the FranTk distribution.
In tar gzip format. In window zip format.

Send bug reports to: Meurig Sage,