[MLton] Re: mGTK and MLton

Ken Friis Larsen ken@friislarsen.net
Tue, 16 Nov 2004 01:59:54 +0100

Hi Wesley,

This is just a short message to let you know that we have read your mails.

[And to the MLton guys:  I Cc'ed you because it has been a while since 
our last mGTK on MLton status mail.]

Wesley W. Terpstra wrote:
> Hi! I've read your Usenix/Freenix paper on mGTK and decided to check it out.

Good to hear.

> I read on your website that mGTK support for MLton is "almost ready".

Yes, we'll have an other prerelease out soon.  Hopefully sometime this 
week.  Since the FreeNIX paper (and pre-0.92) we can now handle a much 
larger subset of gtk+, and we have better and up to date examples :-)

Unfortunately, all of this is still only in CVS....

If you are interested I've blogged a bit a about the current mGTK 
progress: http://ken.friislarsen.net/blog/index.php?cat=11

> I downloaded version pre-0.92 and tried porting my lablgtk2 code to it.
> Everything seems to work fine, so I was wondering what the "almost" part is?

What is desperately needed is some documentation, and I just found out 
that mGTK does not work out of the box---eh---CVS with the just released 
MLton.  (A trivial fix to the Makefiles is now waiting on my disk).

> mGTK has the definite advantage that the compiled binary is not as bloated
> as a lablgtk2 one. (1M for lablgtk2, 200k for mgtk). 

I'm afraid we are slowly lossing that advantage :-(  Currently the 
binary for the example text editor we have written with mGTK takes up 
416K compiled with MLton and 220K compiled with Moscow ML (with option 

> On the other hand, the
> lack of tagged parameters and object orientation was frustrating.

We are working on tagged parameters, but not on OO.   [I've seen you 
other message but do not have time to answer it in a satisfying manner 
right now.]

> One thing I very much like about mgtk over lablgtk2: the same functions as
> in GTK+ are available, and all of them.

Well, I'm constantly running into corners of the API where we are 
missing some functions.  But we are glad to hear that you have found 
what you are looking for.

> In lablgtk2 I've repeatedly run into
> situations where the authors bound GTK+ in a way which made some things
> impossible which _are_ possible in GTK+ itself---it seemed like the authors
> learned GTK+ while writing the binding ;). I had no such problems with mgtk.

I can reveal that at least one of the mGTK authors started to work on 
mGTK just to have a motivation for learning GTK+....

> A final thought: because you guys bind so closely to the C API, I think
> writing a glade backend targetting SML would be quite easy; is anyone
> already looking into this?

No, we have planned to look into it some time in the future.  Alas, the 
mGTK is moving much slower than Henning and I would like.