X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <1427719819.942.52.camel@ssalewski.de> Subject: [geda-user] GTK3 bindings for Nim language available From: Stefan Salewski To: gtk-app-devel-list AT gnome DOT org, gtk-list AT gnome DOT org, geda-user AT delorie DOT com Date: Mon, 30 Mar 2015 14:50:19 +0200 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com We have some basic Nim GTK3 bindings available now, see https://github.com/StefanSalewski?tab=repositories Of course this note is only for smart people interested in Nim language (http://nim-lang.org/) and GTK3 development. The bindings are not really high level -- there is no Nim Garbage-Collector support and sometimes type casts are necessary. But they support to a large extend OO like notation as known from languages like Python or Ruby. Smart people should be able to convert C, Python, Ruby, Vala code to Nim GTK3 without larger problems. (Conversion from C is supported by the Nim c2nim tool.) But currently there is no tutorial and only minimal example code. As a non trivial example I have converted test-completion.c from gtksourceview package to Nim, see https://github.com/StefanSalewski/nim-gtksourceview/tree/master/test. And I adapted the code of the Aporia Nim IDE initially written for GTK2 so that it compiles and partly works with GTK3, but that one is currently far away from an example of clean Nim code -- many casts and addr() operators. The bindings are generated with help of c2nim tool from late GTK 3.15.xx C headers and should mostly cover GTK 3.16. Only tested for Linux yet, for Windows and Mac some fixes may be necessary. (There is no package manager support currently, so you have to download all 10 packages manually from github and you may have to create some links from your working directory to the modules.) Of course there is work left, mostly testing and fine tuning, adding package manager support and maybe writing a tutorial. But I do not know if I will find time for that this year.