Lucy Devs,

To summarize this is where we're at in regard to binding ruby to Lucy:

1. We have a rakefile clownfish/runtime/ruby that builds builds lemon,
clownfish, and CFC.c in the ext folder. This CFC.c contains bindings for
Ruby for the following clownfish objects: Clownfish::CFC::Model::Hierarchy
and Clownfish::CFC::Binding::Core.

2. We also have a rakefile in clownfish/compiler/ruby that invokes the
aforementioned runtime rake file, builds charmonizer and the ruby
charmonizer.rb file, and invokes the Clownfish::CFC::Model::Hierarchy
and Clownfish::CFC::Binding::Core ruby objects to generate the autogen
folder. This rakefile also builds, utilizing Rake::ExtensionTask, the Bind
code in the ext folder which contain routines to convert Clownfish
charbufs/varrays to ruby objects.

3. There is also a Rakefile in root/ruby that I believe is compiling Lucy
itself. After taking a cursory glance at it appears to do be compiling
charmonizer and clownfish too, so I think this build script may need to be
revisited and/or refactored at a later point.

With my limited scope and understanding, I believe going forward the next
logical step would be to start creating a  Clownfish::CFC::Binding::Ruby
that implements a write_ext_typemap method which in turn would call out to
CFCRubyTypeMap_write_ext_typemap.

Does this seem correct to others who have gone down the path of trying to
bind another language? Any other parting words of wisdom and suggestions
would be highly appreciated.

Thanks,
Logan

Reply via email to