Show your support for Rubinius!

S

Sam Smoot

(I hope you don't mind a bit of cross-posting, but seeing as how the
news hasn't seemed to made it here yet...)

Just thought you guys might like the opportunity to show your support.
Even if you haven't heard of Rubinius, or even think it all that
worthy, Evan's done some pretty impressive stuff with Ruby (Sydney for
one), and been pretty generous with his contributions to the community.

Geoffrey Grosenbach (of NubyOnRails and PeepCode fame) has put up $1000
towards Rubinius development. You can read more about it at
NubyOnRails:

http://nubyonrails.topfunky.com/art...de-screencasts-places-a-1-000-bet-on-rubinius

I love this whole "call to arms" community thing in Ruby. Maybe we
could try and break the record set by the Rails Documentation
fund-raiser. :)

Thanks, -Sam
 
T

Tim Pease

(I hope you don't mind a bit of cross-posting, but seeing as how the
news hasn't seemed to made it here yet...)

Just thought you guys might like the opportunity to show your support.
Even if you haven't heard of Rubinius, or even think it all that
worthy, Evan's done some pretty impressive stuff with Ruby (Sydney for
one), and been pretty generous with his contributions to the community.

Geoffrey Grosenbach (of NubyOnRails and PeepCode fame) has put up $1000
towards Rubinius development. You can read more about it at
NubyOnRails:

http://nubyonrails.topfunky.com/art...de-screencasts-places-a-1-000-bet-on-rubinius

I love this whole "call to arms" community thing in Ruby. Maybe we
could try and break the record set by the Rails Documentation
fund-raiser. :)

I've been wanting to ask this question for a while now, so here goes.
Is the Rubinius C API compatible with the Ruby 1.8.5 C API? I'm just
wondering if things like RMagick will work with Rubinius (not to
mention my own library wrappers).

Blessings,
TwP
 
B

Brian Mitchell

I've been wanting to ask this question for a while now, so here goes.
Is the Rubinius C API compatible with the Ruby 1.8.5 C API? I'm just
wondering if things like RMagick will work with Rubinius (not to
mention my own library wrappers).

This brings up a really good point. Maybe this is when we should start
considering the use of generic wrappers line RubyInline more
seriously. If RubyInline implemented Rubinius support then we would
have the beginnings of a portable C API because of the automatic
wrapping it does. Just a thought. Of course, I would also like to see
an official revamp of the dl library as well.

Brian.
 
W

Wilson Bilkovich

This brings up a really good point. Maybe this is when we should start
considering the use of generic wrappers line RubyInline more
seriously. If RubyInline implemented Rubinius support then we would
have the beginnings of a portable C API because of the automatic
wrapping it does. Just a thought. Of course, I would also like to see
an official revamp of the dl library as well.

Rubinius currently makes some use of RubyInline, but that's likely to
be temporary. Currently, we're thinking of using C/Invoke:
http://www.nongnu.org/cinvoke/
..because it provides a very nice way of interfacing with external code.

Rubinius won't have the same 'ruby.h', so it will take some work to
make extensions 'just work'. Knowing Evan, he's probably already
thought of a better solution, though.

Fun milestone: As of last night, Rubinius can run its own compiler.
Ryan Davis's miniunit test/unit replacement works now as well, so
Rubinius should be hosting its own tests in the next week or so.
 
W

Wilson Bilkovich

I'd like to know more about Rubinius, but all the info I've got on it
are Evan's blogs on http://blog.fallingsnow.net/. Is there more info
somewhere else?

#rubinius on irc.freenode.net is a good resource.

I'm going to write up an "installing and understanding Rubinius"
document, and Evan is working on some cool architectural diagrams that
we can then put on extremely geeky T-shirts.

Current dependencies (this list will be getting shorter month by month)
ruby:
an existing install of 1.8
sydparse
RubyInline
emp
rake

external:
glib2
gcc 4.0 or 4.1

Right now the Makefile that bootstraps Rubinius isn't set up for other
compilers. You will need to modify it if you have something other than
gcc4.x. This is another temporary issue. If someone wants to come
along and fix it, that would be cool. :)

As soon as the glib2 dependency is gone (soon, hopefully), I will make
sure that Rubinius builds on Windows under VC8.

After you have the dependencies installed:
rake shotgun # builds the C components
rake bk # builds the kernel
rake test_shotgun # runs the unit tests that are in 'shotgun-tests'

Currently there are some test failures, but not too many. The bytecode
is compiled and stored in the 'code-cache' directory as .rbc files.
 
E

Edwin Fine

AFAIK, Ruby does not have a formal language specification. The language
is pretty much defined by the Ruby C code (a Bison parser created from
parse.y). This makes it difficult to have a high degree of confidence
that any other implementations will match the original Ruby's behavior
precisely. This is a problem that the JRuby developers highlighted in a
recent interview
(http://www.oreillynet.com/ruby/blog/2006/07/interviewing_the_jruby_develop.html).

From the interview:
-----
"I would really like to see multiple implementations of Ruby the
language end up generating a consistent definition of Ruby that is not
determined by someone changing a line of C code. I give great credit to
the C Ruby developers in designing a great language, but the lack of a
formal language specification will eventually become a liability. The
more implementations hopefully will highlight the need for a formal
language specification."
-----

Maybe things have changed since then; if so, I haven't seen anything
about it. I think that one really major contribution that the Rubinius
project could make (besides another interpreter) would be to create an
initial formal language specification. Of course, it is a complex,
horrible, thankless, and time-consuming job to do this for anything but
a toy language, so I don't foresee a plethora of volunteers :)
 
B

Benjohn Barnes

#rubinius on irc.freenode.net is a good resource.

I'm going to write up an "installing and understanding Rubinius"
document, and Evan is working on some cool architectural diagrams that
we can then put on extremely geeky T-shirts.

Current dependencies (this list will be getting shorter month by
month)
ruby:
an existing install of 1.8
sydparse
RubyInline
emp
rake

external:
glib2
gcc 4.0 or 4.1

Right now the Makefile that bootstraps Rubinius isn't set up for other
compilers. You will need to modify it if you have something other than
gcc4.x. This is another temporary issue. If someone wants to come
along and fix it, that would be cool. :)

As soon as the glib2 dependency is gone (soon, hopefully), I will make
sure that Rubinius builds on Windows under VC8.

After you have the dependencies installed:
rake shotgun # builds the C components
rake bk # builds the kernel
rake test_shotgun # runs the unit tests that are in 'shotgun-tests'

Currently there are some test failures, but not too many. The bytecode
is compiled and stored in the 'code-cache' directory as .rbc files.

Am I right that Rubinius:

1) Compiles Ruby directly to assembly language, and
2) Is actually written in Ruby, so can self host?

Because that would be cool :) Although, for 1, doesn't it need a lot
of work to target other processors, unless you're making use of an
existing intermediate language (c for instance, or something inside
the gcc compiler)?

Cheers,
Benjohn
 
J

Jeremy McAnally

They are working on an official Ruby spec and testing suite.

...and it appears that I forgot the URL (if they had one...).

--Jeremy
 
D

dblack

Hi --

They are working on an official Ruby spec and testing suite.

Official, or formal? (I've been in favor of both for a long time --
just wondering which this is.)


David

--
David A. Black | (e-mail address removed)
Author of "Ruby for Rails" [1] | Ruby/Rails training & consultancy [3]
DABlog (DAB's Weblog) [2] | Co-director, Ruby Central, Inc. [4]
[1] http://www.manning.com/black | [3] http://www.rubypowerandlight.com
[2] http://dablog.rubypal.com | [4] http://www.rubycentral.org
 
J

James Edward Gray II

Hi --



Official, or formal? (I've been in favor of both for a long time --
just wondering which this is.)

Well it was discussed at the Ruby Implementors Summit where Matz was
present and I hear Matz himself has contributed to the effort, for
what that's worth.

We should remember though that the spec is for Ruby 1.8. Ruby 1.9
does not have one and Matz doesn't want to build one for it yet, as I
understand it.

James Edward Gray II
 
W

Wilson Bilkovich

Am I right that Rubinius:

1) Compiles Ruby directly to assembly language, and
2) Is actually written in Ruby, so can self host?

Because that would be cool :) Although, for 1, doesn't it need a lot
of work to target other processors, unless you're making use of an
existing intermediate language (c for instance, or something inside
the gcc compiler)?

It compiles to assembly language, but it is assembly language for the
Rubinius Machine, not, say IA-32. The Rubinius instruction set
architecture is then implemented in C for portability across processor
types.

The compiler is written in Ruby, and can self-host, but there is (and
always will be) C involved in the runtime.
As time goes on, more and more of that C will be generated from Ruby
(similar to the way the Squeak VM works.)

Singleton/metaclasses (i.e. class << self) and the ||= syntax were
added last night. Woo hoo!
 
D

dblack

Hi --

Well it was discussed at the Ruby Implementors Summit where Matz was present
and I hear Matz himself has contributed to the effort, for what that's worth.

Cool. I know that in the past Matz has indicated that he'd be willing
to entertain a spec, possibly officially, but wasn't interested in
writing one. Various people have expressed interest in writing one,
and then just not found the time or momentum. (At least one various
person I can think of :) So this sounds like the right thing at the
right time.
We should remember though that the spec is for Ruby 1.8. Ruby 1.9 does not
have one and Matz doesn't want to build one for it yet, as I understand it.

I guess it's not worth it for a development version. Hopefully the
1.8 work will be adaptable fairly easily to 2.0.


David

--
David A. Black | (e-mail address removed)
Author of "Ruby for Rails" [1] | Ruby/Rails training & consultancy [3]
DABlog (DAB's Weblog) [2] | Co-director, Ruby Central, Inc. [4]
[1] http://www.manning.com/black | [3] http://www.rubypowerandlight.com
[2] http://dablog.rubypal.com | [4] http://www.rubycentral.org
 
W

Wilson Bilkovich

Well it was discussed at the Ruby Implementors Summit where Matz was
present and I hear Matz himself has contributed to the effort, for
what that's worth.

We should remember though that the spec is for Ruby 1.8. Ruby 1.9
does not have one and Matz doesn't want to build one for it yet, as I
understand it.

Is there a mailing list / webpage for the spec project? I want to get involved.
 
E

Edwin Fine

Wilson said:
Is there a mailing list / webpage for the spec project? I want to get
involved.

I'd be interested in learning more about the spec project and possibly
contribute.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top