[Gambas-devel] GB + Parrot

Ahmad Kamal eng_ak at ...100...
Sat Feb 21 14:05:00 CET 2004


Hi everyone,

    A while ago I asked whether it would be possible to make system 
calls from within GB. Well, now I have another crazy idea I would like 
to discuss with you. It's pretty much the same concept but calling 
parrot code instead of sys calls.

To those of you who haven't heard about Parrot. Parrot is the Perl6 run 
time engine. i.e. Perl6 code will be compiled to bytecode (like java) 
and run by Parrot. Actually the cool thing, is that Python will do the 
same, which means you can call python modules from within perl and vice 
versa. In fact, Parrot can be targeted by any other language (GB) so 
that that language will be able to 'talk' to others. Which is super cool 
if you ask me. If a baby language like GB gets access to the decades of 
perl modules out there, it would push it light years forward. Also, this 
way, we (& others) don't have to re-invent the wheel everytime we write 
a module. But a good network/multimedia/DB/... modules gets written, and 
GB, Perl, Python,.... use it.

So, the basic idea is that we want GB to interface Parrot, this can be 2 
way:
1- Full duplex (Perl calls GB modules and vice versa)
2- Half duplex (GB only can call perl/python code)

Of course full duplex method is better, but IMHO, it is difficult as 
well. However, the half duplex way is what will be needed 90% of the 
time, and is IMHO much easier to implement (like Zope's Python.Net). Of 
course, I am not sure how difficult either way is, so correct me if I am 
wrong.

Anyway, this is probably a post ver 1.0 issue, but I believe this can 
really help GB/others become mainstream languages. Combine GB easy GUI 
model, with tons of perl/python code, you're unbeatable :)

One thing escapes me though, after having learned about Parrot, is what 
is the difference between it and mono/.net , which are also run time 
engines which also make other languages talk to each other (c# , 
VB.net,...) What is the core difference here? We could interface mono, 
if it would be better.

Are you still reading up till here :)
regards






More information about the Devel mailing list