[Xapian-discuss] Go (golang) bindings for Xapian?

Olly Betts olly at survex.com
Mon Feb 18 03:23:20 GMT 2013

On Thu, Feb 14, 2013 at 06:59:51PM +0100, Marinos Yannikos wrote:
> is anyone working on Xapian bindings for Go? SWIG supports Go since
> version 2.0 (http://www.swig.org/Doc2.0/Go.html), but there's some
> Go-specific code that needs to be written.

I've not heard of anyone working on this.

You need to write language-specific code to wrap things nicely for
a particular language, but if you're working with Xapian trunk you
should be able to get a working set of wrappers by creating a new
subdirectory, then create a file called go.i (or whatever) just:

%module xapian
%include ../xapian-head.i
%include ../generic/except.i
%include ../xapian-headers.i

Most features should be usable, though the wrappers will probably
be clunky and unnatural in places.  But you'll have something which
works which you can then work on making nicer to use.

The structure is somewhat different on the 1.2 branch, but I'd
definitely recommend working on a new feature like support for a new
language on trunk first, and think about backporting to 1.2 later.

> Unfortunately, I have 0 experience both with SWIG and hacking on the
> Xapian bindings, so I probably cannot do this as a weekend project. It
> would come in very handy though.

Would you be interested in helping to mentor a GSoC student to work
on this?  It would probably make a suitable project, but we'd really
need someone with experience of working with Go involved.


More information about the Xapian-discuss mailing list