Extending other languages with Ruby

Hello,

I have recently been trying to figure out how to extend another language
by using Ruby as a scripting language. I have found a bit of information
on how to do this, but it is mostly just bland explanations and, seeing
as I am a visual learner, I am having a lot of trouble figuring out how
to correctly implement something like this without code examples or
something like that. Does anyone have a link to a better explanation? It
would be nice if the extended language explanation were C++ or C# or
something like that.

Thanks!

On Mar 27, 2007, at 7:15 PM, Mark C. wrote:

to correctly implement something like this without code examples or
something like that. Does anyone have a link to a better
explanation? It
would be nice if the extended language explanation were C++ or C# or
something like that.

I have two slide presentations on this, one on extending Java with
Ruby (JRuby) and one on extending C/C++ with Ruby. Both are at http://
www.ociweb.com/mark.

Mark V. wrote:

On Mar 27, 2007, at 7:15 PM, Mark C. wrote:

to correctly implement something like this without code examples or
something like that. Does anyone have a link to a better
explanation? It
would be nice if the extended language explanation were C++ or C# or
something like that.

I have two slide presentations on this, one on extending Java with
Ruby (JRuby) and one on extending C/C++ with Ruby. Both are at http://
www.ociweb.com/mark.

Those are very awesome, and I appreciate that you shared them with me.
They’ve definitely helped me quite a bit, but now all I am left
wondering is if/how I can do the same using C# (Mono, preferably). Any
more information would be extremely useful!

Thanks!

Mark V. wrote:

On Mar 27, 2007, at 7:15 PM, Mark C. wrote:

to correctly implement something like this without code examples or
something like that. Does anyone have a link to a better
explanation? It
would be nice if the extended language explanation were C++ or C# or
something like that.

I have two slide presentations on this, one on extending Java with
Ruby (JRuby) and one on extending C/C++ with Ruby. Both are at http://
www.ociweb.com/mark.

I went ahead and decided to play around with embedding Ruby in a C
program, but now I am receiving this:

lynxy:~/src/Ruby/Embed/Testing markchandler$ cc main.c
-I/usr/local/ruby/lib/ruby/1.8/i686-darwin8.9.1/
/usr/bin/ld: Undefined symbols:
_rb_load_file
_ruby_init
_ruby_run
_ruby_script
collect2: ld returned 1 exit status

The c code:
#include <ruby.h>

main() {
ruby_init();
ruby_script(“embedded”);
rb_load_file(“start.rb”);
while (1) {
ruby_run();
}
}

Thanks!

On 3/27/07, Mark C. [email protected] wrote:

Mark V. wrote:

On Mar 27, 2007, at 7:15 PM, Mark C. wrote:
I have two slide presentations on this, one on extending Java with
Ruby (JRuby) and one on extending C/C++ with Ruby. Both are at http://
www.ociweb.com/mark.

Those are very awesome, and I appreciate that you shared them with me.
They’ve definitely helped me quite a bit, but now all I am left
wondering is if/how I can do the same using C# (Mono, preferably). Any
more information would be extremely useful!

RubyCLR (http://www.rubyclr.com/)
IronRuby (http://www.wilcob.com/Wilco/IronRuby.aspx)
Ruby.NET (http://plas.fit.qut.edu.au/Ruby.NET/)
Ruby/Mono (http://raa.ruby-lang.org/project/ruby-mono/)

On Mar 28, 2007, at 6:43 PM, Mark C. wrote:

Ruby (JRuby) and one on extending C/C++ with Ruby. Both are at
_ruby_init
rb_load_file(“start.rb”);
while (1) {
ruby_run();
}
}

Here are the commands that are run from Makefiles generated using
mkmf for my example code. Maybe you’ll see something in them that
will help. “dealer” is the name of the C source file being compiled.

gcc -I. -I/usr/local/lib/ruby/./i686-darwin8.9.1 -I/usr/local/lib/
ruby/./i686-darwin8.9.1 -I. -fno-common -g -O2 -pipe -fno-common -c
dealer.c
cc -dynamic -bundle -undefined suppress -flat_namespace -L"/usr/
local/lib" -o dealer.bundle dealer.o -ldl -lobjc