From the last Release of sml_tk (Version2.1) to the current release
3.0, there is a major development step. In particular, 3.0 is *not*
downward compatible to older versions of 2.1 (although there is
a portability interface smltk21.sml that may greatly help to port
older applications).

Main changes are:
- SmlTk has now an opaque interface; in previous versions,
  internal aspects of the implementation (e.g. widget identifiers
  being implemented as strings) had been exported.

- The constructors for widgets, canvas items and windows have been
  changed from cartesian products to records, e.g. instead of 

   CRectangle (cid, c1, c2, cl, bl) 

   we now have

   CRectangle{citemId=cid, coord1=c1,
              coord2=c2, configs=cl, bindings=bl}

- Extended support of basic Tk functionality, such as 
  the grid packer and various configuration options, such as colours,
  underline &c.
- There are many new components in the toolkit library
  such as treelists, tables, tabs and TGenGUI.
- There is a common infrastructure - a system of signatures
  that allow a uniform exchange of objects (visualizable
  elements) in sml_tk.
- sml_tk is now fully conformant with the SML'97 standard, and hence
  runs under SML of New Jersey, PolyML and MoscowML.
- There is an additional configuration (based on thew packet
  njml_patch) that embeds a  Tcl-interpreter into
  the ML runtime system; thus, the communication overhead
  caused by pipes can be eliminated.
- There is a new interupt mechanism, allowing to interupt applications 
  without destroying the gui.

