12/12/14 18:15, Ian Zimmerman wrote:
On Fri, 12 Dec 2014 14:17:27 +0100 (CET), Makarius <makarius at sketis.net> wrote:
Makarius> Back to the original question: a public version of the Makarius> aforementioned GTK C bindings for Poly/ML would be great.
Agreed, so could someone ping Phil Clayton about it? I am too shy (having been given access to an early version privately, and not having done anything with it).
Thanks for mentioning this Ian. Unfortunately I've only just caught up with this discussion.
GTK+ bindings do exist for Poly/ML as part of Giraffe Library, which I am developing. See below for a brief overview. The same bindings are also provided for MLton, allowing the same application code to compile with either compiler.
Giraffe Library is not publicly available yet because there are a couple of little loose ends that I want to tie up. However, I would be very happy to provide a copy to anyone wanting to try it out and feedback would be welcome. Giraffe Library is LGPL simply to have the same licence as GTK+ and company.
There are quite a few omissions in the library. Despite this, a lot can be done. To get a flavour of things, the ubiquitous Hello World example from the GTK+ tutorial is attached!
Regards, Phil
--------------- 1. Overview ---------------
Giraffe Library is a Standard ML library that provides an interface to GObject-based libraries, such as GTK+. The interface introduces some abstraction of the libraries to provide expected features of Standard ML such as:
- automatic memory management (garbage collection) - type-safety - no uninitialized values - portable source code
For the most part, Giraffe Library is generated automatically from the GIR data of the libraries. At present, interfaces to parts of the following libraries are available:
- GTK+ - Pango - GtkSourceView - VTE (Virtual Terminal Emulator)