[Lablgtk] Binding for gtkSourceView-2.0

Mike Spivey mike at comlab.ox.ac.uk
Thu Dec 11 14:53:45 CET 2008

Benjamin Monate wrote:
> If you intend to do it yourself, do not hesitate to post regular
> progress/status reports so that we can help you.

I have made a rough draft of a binding, but have only just begun to test
it.  I don't know if I will find the time to test and debug those parts
that I don't need for my current project.

My experience so far is that more than 50% of the C primitives I've
written have conversion problems, so testing is very important.  I hope
things get better with time.

However, I'm very willing to share what I have once some parts of it are

For now, a couple of interface questions:

(1) Is there a fixed rule for what methods take () as a final parameter?
 Methods with side effects and no arguments, yes; but what about methods

	method guess_language :
	  ?filename:string -> ?content_type:string
	    -> unit -> source_language (* or raise Not_found *)

that have no side-effects and only optional arguments?

(2) On the same example: if a C method with type t may return NULL, then
we have multiple possibilities in OCaml:

	(i)   return "t option"
	(ii)  return "t", but raise Not_found if the result is NULL
	(iii) if t = string, then return the empty string for NULL

A similar question applies to arguments that may be NULL.  Is there a
rule that I should follow?

(3) Text iterators are wrapped in a non-mutable way, with

	method forward_char : iter

returning a fresh iterator.  But in gText.view there is a method

	method forward_display_line_end : iter -> bool

that mutates its argument.  Can this be right?

And finally: is it possible to have a C primitive that takes labelled

Best wishes,

-- Mike

Lablgtk mailing list
Lablgtk at yquem.inria.fr

More information about the Lablgtk-list mailing list