Added a Matrix
[gecoder.git] / rust / README
blobab8ef016e534a83420c9ed20a8be3feeb21ab79d
1 When I wanted to write a GUI tagger for KDE using Korundum (KDE Ruby
2 bindings), I discovered to my sadness that most of the tagging
3 extensions for Ruby were simple bindings for the C interface of the
4 most common TagLib library (that is written in C++ instead); writing
5 bindings for the C++ interface was quite a complex task, and boring as
6 it was to copy and paste the same code over and over.
8 For this reason I started first writing a simple extensions generator
9 that used a YAML description of the namespaces and the classes to
10 write bindings for. This method worked fine for what I was working on
11 (RubyTag++), and also allowed me to write quite quickly some Ruby
12 bindings for Hunspell too.
14 Unfortunately this generator was not adaptable enough to write
15 bindings for C libraries that used some object oriented interfaces,
16 and was a mess to extend to provide bindings more suitable to some
17 different cases than the ones I've already used the script for.
19 For this reason I've started working on Rust: a more flexible
20 extensions builder, that allowed to bind even C libraries by faking
21 some classes on Ruby (although I haven't implemented this yet).
23 Hopefully in the future Rust can be used to easily produce Ruby
24 bindings for a number of libraries that currently aren't available at
25 all.
27 To contact me, send me patches or comments, just write to
28 <flameeyes@gmail.com> .