W3C home > Mailing lists > Public > public-rdf-ruby@w3.org > April 2008

Re: RubyRDF + C

From: Paul Stadig <paul@stadig.name>
Date: Sat, 12 Apr 2008 07:05:55 -0400
Message-ID: <3cd5de9f0804120405p5b6f880av6b4e19c6c309a8d6@mail.gmail.com>
To: carmen <_@whats-your.name>, public-rdf-ruby@w3.org
What I meant was that the in memory implementation of the graph model is
pure Ruby, but I wasn't thinking about the utf8proc gem. That gem is based
on C and the only thing it is used for is Unicode Normal Form C
normalization.

My intention *is* to provide a fully pure Ruby solution that can be used
with MRI, JRuby, and Rubinius. Though apparently Rubinius will be capable of
using Ruby's C extensions (that's my understanding). I also want to provide
access to high performance triple stores in ways that won't compromise being
pure Ruby (such as through HTTP protocols for triple stores).

I don't use C directly to extend RubyRDF in any way, and I neglected to
consider the gems I depend on...sorry. Well that's embarrassing.  :/ I'll
have to find a Unicode library that will do NFC normalization in pure Ruby.
This is still a preview release, and I'm still massaging the API.

Would you be willing to help me with the unicode normalization?


Paul

On Fri, Apr 11, 2008 at 4:09 PM, carmen <_@whats-your.name> wrote:

>
> the [ANN] description said 'pure Ruby'.
>
> since Redland (quite similar to your API) requires C, i figure someone
> might find this useful, especially as Ruby+Redland users report
> SWIG/Finalizer-related memleaks or might not want the added dep
>
>
> Ruby/Redland works great with MRI 1.9, and ive not found memleaks. whether
> this is due to improvements in language GC or my limited usage of the full
> API, im not sure..
>
> also it appears RubyRDF isnt pure Ruby:
>
> gcc -I. -I/usr/local/include/ruby-1.9.0/x86_64-linux
> -I/usr/local/include/ruby-1.9.0 -I.   -fPIC -g -O2  -fPIC   -o
> utf8proc_native.o -c utf8proc_native.c
> utf8proc_native.c: In function 'utf8proc_ruby_map':
> utf8proc_native.c:14441: error: 'struct RString' has no member named 'ptr'
> utf8proc_native.c:14441: error: 'struct RString' has no member named 'len'
> utf8proc_native.c:14448: error: 'struct RString' has no member named 'ptr'
> utf8proc_native.c:14448: error: 'struct RString' has no member named 'len'
> make: *** [utf8proc_native.o] Error 1
>
> my memory says it changed to RSTRING_LEN(ptr) or similar. unfortunately
> you have to #ifdef it, as the new macro is not back-compat (or eb did
> anyways)
>
>
> can you summarize in which ways C is used to extend RubyRDF?
>
> (curious)
>
>
Received on Saturday, 12 April 2008 11:06:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 12 April 2008 11:06:33 GMT