[mercury-users] GUI Toolkits and Mercury

Jonathan Morgan jon.morgan at optusnet.com.au
Tue Nov 22 20:47:52 AEDT 2005


What is the state of GUI toolkits under Mercury?  In the extras distribution
there is an X binding (not really portable to Win32/Mac OS X), a binding to
OpenGL and GLUT and a binding to Tcl/Tk.  This last one is probably the only
widget-style set here that is cross-platform and commonly used.

All these seem to be for C backends only.  What would be used for IL/Java?
Would you use C#/Winforms or Java/Swing?  Is there any kind of Mercury
binding for these, or would you just use existing tools to generate pure
Java/C# files calling Mercury functionality?

Are there any plans to make a binding to a cross-platform toolkit apart from
Tk (eg. wxWidgets, Gtk+)?  Are there plans to make native Mercury GUIs
available for multiple platforms (eg. IL/Java/C)?

My feeling is that mtk might be able to be ported to IL/Java with
comparative ease, as it is almost entirely pure Mercury, and you would only
need to bind mtcltk to a Tcl binding like tickle-sharp or Jacl.

In terms of features, power, and native support for various platforms
wxWidgets would probably be best for Win32 and Mac OS X, while Gtk+ would be
best for X (wx binds to Gtk+, but I'm told that native Gtk applications
generally look better).  Gtk and Tk are more lightweight than wx, though wx
can support things like ODBC and networking.  wx would pay the price of a
C++-to-C binding, and Tk that of a Tcl-to-C binding, whereas Gtk is C.  Gtk
has strong bindings to IL and Java (Gtk# is a core mono project, and
java-gnome is one of Gtk's more important bindings).  wx has a comparatively
recent binding to Java (wxJava), and a more mature binding to .NET (wx.NET),
which also provides SWIG generated wx-C bindings.

However, any new bindings will probably require a large amount of work,
whereas mtk only requires a new binding to Tcl (do many people use mtk?).

Jon

--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list