On non-Rubinius VMs?

33 views
Skip to first unread message

Sebastian Nozzi

unread,
Sep 25, 2012, 5:42:47 AM9/25/12
to fancy...@googlegroups.com
Hello list,

I came across your language. As a Smalltalk-fan, I am delighted :-) Together with Ruby semantics it IS practically "SmalltalkScript" ;-)

Wanted to ask: does it run on non-Rubinius Ruby environments? I would love to use it at work, but they use the "normal" Ruby VM... (1.8.7)

If not, are there plans to "port" it. Or does the nature of the implementation make this impossible?

Thanks!

Sebastian

Christopher Bertels

unread,
Sep 25, 2012, 8:48:23 AM9/25/12
to fancy...@googlegroups.com
Hey there,

Glad you like the language :)
Fancy currently only runs on Rubinius since it compiles down to its bytecode format and relies on some parts that are specific to Rubinius at the moment.
Porting it to other virtual machines shouldn't be too hard though. I've roughly separated the standard library into Rubinius specific and non-specific parts.
As of now porting it to any other Ruby implementation isn't planned.
MRI 1.8.7 probably isn't a good target (due to how its implemented), Ruby 1.9 might make more sense since it's an actual bytecode VM.
But both 1.8 and 1.9 both lack a JIT (Just-in-time) compiler, which Rubinius offers. Also they don't support real concurrency (without a global interpreter lock) and many other things.
Rubinius is probably the best Ruby implementation (in terms of implementation semantics, features and culture) to what I'd want Fancy to run on.

I'd suggest you'd give Rubinius a try (not just for Fancy). :)
In terms of performance Rubinius might work just as well or even better for your code.

So yeah, the basic answer is it's not impossible to port, but I don't really have anything like that planned for myself right now.
And since the language is still changing somewhat (it's in pre 1.0 status) porting it to another platform at this point probably isn't the best idea.
I'm not going to stop anyone from doing that, of course, and am glad with helping anyone trying to do that.

What exactly did you want to use it for at work, if I may ask?

Cheers,
Christopher.


2012/9/25 Sebastian Nozzi <sebn...@gmail.com>

Sebastian Nozzi

unread,
Sep 25, 2012, 12:15:05 PM9/25/12
to fancy...@googlegroups.com
Hey Christopher,

thanks for your fast and thorough answer. I just thought that by being able to run in "mainstream" Ruby it would be compatible with more libraries and gain more popularity. But I understand completely the reasons why this is not so.

I am working with a Rails 3 application, that for some reason (I am new to Rails/Ruby) we have to run on 1.8.7 (some dependency problem I guess). For newer projects without these limitations, I can imagine using it.

Other than that, for reasons similar to Smalltalk, your language seems like an excellent candidate to teach programming (a subject I'm very interested in).

Thanks again,

Sebastian

Christopher Bertels

unread,
Sep 25, 2012, 1:15:01 PM9/25/12
to fancy...@googlegroups.com
Hey,

Cool, well Rubinius supports most libraries that run with 1.8.7, including many c-extensions.
Have you tried actually running the code with Rubinius? It might just work :)

Other than that, glad I could help.
If you have any other questions, just let me know.

Cheers,
Christopher.

2012/9/25 Sebastian Nozzi <sebn...@gmail.com>
Hey Christopher,
Reply all
Reply to author
Forward
0 new messages