As requested by jkeenan, I'll outline my reasons for removing the
mentioned code from the sixparrot branch.

First, anything that's not used by NQP or Rakudo can be ripped out in
principle - which of course doesn't mean that we necessarily should do
so:

Things like 'vm-level' bindings like LLVM could prove useful in the
future and should be left alone.

However, 'user-level' bindings like OpenGL and SDL need not be kept around:

The idea behind Parrot linking against everything under the sun was
that if it does that, the language implementations on top of it need
not do so.

But dynamic languages have moved on from compile-time bindings, and
Rakudo is a case in point here: It provides runtime bindings via
dyncall, which is shipped with NQP and does not depend on Parrot's
NCI.

Now for the DynLexPad PMC.

Again, it's not used by NQP and Rakudo, and I believe even the
ordinary LexPad needs to go:

If our main focus is no longer providing convenient hooks for
different HLLs but rather Rakudo performance, allocating a PMC *on*
*every* *call* just so we can stash a LexInfo pointer is pointless.
(The custom Perl6LexPad does a bit more, but the Parrot-provided
counterpart already resides in the CallContext and could be replaced
with the Perl6 version).

-- gerdr
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to