Subject: RE: [hackers-il] Two New Software-Related Ideas

From: "Chen Shapira" <[email-masked]>
Date: Thu, 21 Sep 2006 13:43:00 +0300

Regarding Tucan:
Do you have any explicit requirements? Because I don't see what exactly
is the problem with Parrot and how YAML and dbus can solve the problem.

I didn't work with any of the APIs you mentioned, but I have experience
with message buses. Buses are a cool way to communicate between
different programs regardless of the language, but they can't enable you
to use code in other languages any more that HTTP can. It is just a high
level communication protocol that can be very useful in some specific
cases.

Moreover, I believe that asking the source and target languages to be
able to convert to and from a common language is not something you can
work around. It will be at the very core of any solution you find, if
you don't want Parrot's byte code, you'll find yourself compiling code
into XML or bus messages, and personally I prefer bytecode to XML any
day.

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]
On
> Behalf Of Shlomi Fish
> Sent: Tuesday, September 19, 2006 10:11 AM
> To: Hackers-IL,
> Subject: [hackers-il] Two New Software-Related Ideas
> 
> Hi all!
> 
> You can find two new software-related ideas that I scribbled down
here:
> 
> * http://www.shlomifish.org/philosophy/ideas/#tucan
> 
> * http://www.shlomifish.org/philosophy/ideas/unixdoc/
> 
> Please let me know what you think.
> 
> Regards,
> 
> 	Shlomi Fish
> 
> ---------------------------------------------------------------------
> Shlomi Fish      [email-masked]
> Homepage:        http://www.shlomifish.org/
> 
> Chuck Norris wrote a complete Perl 6 implementation in a day but then
> destroyed all evidence with his bare hands, so no one will know his
> secrets.
> 
> 
> 
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
> 

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

---

From: Shlomi Fish <[email-masked]>
Date: Sat, 23 Sep 2006 00:25:19 +0300

> is the problem with Parrot and how YAML and dbus can solve the problem.

Parrot is a high-level virtual machine, the aim of which is that one can 
implement dynamic languages (Perl, Python, Tcl, Ruby, PHP, etc.) on top of 
with ease. Assuming all languages are implemented above Parrot, then the 
intention of the Parrot hackers it that it would be easy to call from one 
language to another. 

The downside of Parrot is that it does little to bridge perl5, CPython, CRuby, 
etc. All of these language do not yet work above Python and after they do, 
they will lose a lot of their existing C-based APIs.

My (pie-in-the-sky) intention with Tucan is that I can do the following in 
Python: (not tested but should be OK)

<<<<<<<<<<<<<<
import tucan.perl5.HTML.Widgets.NavMenu

nav_menu = HTML.Widgets.NavMenu.new(
    'path_info': "/me/",
    'current_host': "default",
    'hosts' : { 'default':{"base_url":"http://www.hello.com/"}},
    'tree_contents': ...
)

results = nav_menu.render()

nav_menu_html = "\n".join(results['html'])

And Tucan will do the right thing and interface between Python and the Perl 
based http://search.cpan.org/dist/HTML-Widgets-NavMenu/.

> level communication protocol that can be very useful in some specific

Yes, I realise that. YAML is a common format for storing nested data 
structures. dbus is a lightweight communication protocol.

> into XML or bus messages, and personally I prefer bytecode to XML any

I'm not talking about compiling code into anything. The Perl 5 VM will handle 
the Perl 5 code, and the Python VM will handle the VM one. Tucan will load 
all the VMs on demand. What it will do is transfer calls that Perl 5 code to 
methods written in Python to the Python VM, after which their results will be 
returned to the Perl 5 code.

This way every language can make use of code written in any other language.

Regards,

	Shlomi Fish

-- 

Chuck Norris wrote a complete Perl 6 implementation in a day but then
destroyed all evidence with his bare hands, so no one will know his secrets.