Jonathan Leto a écrit :
I am a Parrot core developer who just recently learned about Neko. I
went to the FAQ on the Neko site and found a very interesting
question:

=begin FAQ snippet

How is Neko different from Parrot ?
[...]

Hi,

This wasn't mean to be polemical, but requires a bit more informations I guess. Please keep in mind that this was also written back in 2006, I'm sure Parrot has evolved since then.

1) "Targeting Parrot is quite complex, with different languages at
different levels (low level PASM and medium level PIR)"

All High Level Language (HLL) developers should be writing PIR [0] or
NQP [1].

So should we replace PASM by NQP ? :)

This is more complex in the sense that there is not a very simple BNF syntax for writing either PIR or NQP, whereas Neko syntax is easy to learn (http://nekovm.org/specs#syntax)

2)  In particular, it is difficult to differenciate beetween the
language and the libraries

Could the Neko community expand on this? I find our core and our
libraries well differentiated. We even have an infrastructure like
Perl 5's CPAN, called Plumage [3], which allows you to install and
download any Parrot plugin/library from the net.

Maybe we should have tell "standard" libraries. As for as I know all PMC are pretty core structures which have their own API which cannot be easily modified.

Neko provides only "raw types" as part of its specification, with a very limited core API (http://nekovm.org/doc/view/builtins), everything else being made in separate optional libraries.

3) Also, it gives access to more low level bytecode which make it
difficult to change it later without breaking backward compatibility.

Parrot has a versioned bytecode and a strictly enforced deprecation
policy, so I find this statement to be blatantly false. Also, you can
distribute your Parrot code as .pir, which will have no bytecode
troubles.

I agree this is not a very good point, I'll make sure this will be removed.

4) Parrot is written in C while Neko compiler is written... in Neko.

There are several advantages of separated VM and compiler as well as bootstrapped languages, see http://en.wikipedia.org/wiki/Bootstrapping_(compilers)

Best,
Nicolas


--
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to