FranTk is based on top of three libraries:

TclHaskell - providing a lightweight binding to tcl-tk
The TclHaskell module contains a modified copy of TclHaskell (from the
August 1999 release), to provide extra functionality for frantk, and
to fix some bugs. This will form the TclHaskell patch level 1 release.

Fran - Conal Elliot's graphics language supporting behaviors and
events. This is a newly implemented version of Fran, based on Conal's
Fran version 2.x. It was implemented by Meurig Sage based on
discussions with Conal Elliot and Simon Peyton Jones. It improves on
Fran v2.x by providing weak pointer support. And a new event
implementation proposed by Simon Peyton Jones. It also now includes
abstract listeners and a listener algebra.
This Fran implementation now has four parts:
1 FranPrim.hs (and friends) - definition of listeners, events and behaviors.
2 StaticTypes.hs (and friends) - definition of Fran numeric types
  (such as points and vectors)
3 BehaviorTypes.hs (and friends) - definition of lifted behavior 
  versions of static types
4 FranCore.hs - exporting all of the previous three, along with
  BehaviorIO.hs, some behavior functions in the IO monad.
 
FranTk - the full glory of frantk developed on top of the other two
systems. FranTk is built in 2 parts:
1 the BVars modules, providing behavior variables, wires and dynamic
  behavioral collections.
  (MapG.lhs BVar.lhs CollectionB.lhs SetB.lhs ListB.lhs 
   CollectionBVar.lhs BVars.lhs)
2 The Widget library. This has been designed so as to be as tcl-tk
  independent as possible. It is therefore built in four levels:
  1 Some basic definitions and functions for any widget system
    (WidgetExports.lhs) 
  2 The toolkit independent modules defining abstract widget classes
    (WH.lhs GUIDef.lhs Conf.lhs GUI.lhs PrimWidget.lhs HasInput.lhs
     AbstractInterface.lhs)
  3 The tcl specific modules built on top of the abstract widget classes
    (WidgetSetImpl.lhs WidgetConf.lhs RectInfo.lhs Citem.lhs MItem.lhs
     Widgets.lhs WidgetSet.lhs)
  4 The abstract widgets and components implementation
    (Widget.lhs Group.lhs PileArray.lhs DisplaySimple.lhs DisplayPItem.lhs
     DisplayWidget.lhs Component.lhs ComponentWidgets.lhs FranTk.lhs)
