On Tue, 29 Apr 2008, Patrick R. Michaud wrote:

On Tue, Apr 29, 2008 at 12:34:47PM -0400, Jeff Horwitz wrote:
mod_parrot can load multiple HLL compilers in the same interpreter, and on
my server i'm using both perl6 and plumhead.  this works fine if i load
perl6 before plumhead.  however, if i load perl6 *after* plumhead, i get a
nasty error:

push_pmc() not implemented in class 'Sub'
...

My complete off-the-wall guess is that perl6.pbc has a :multi sub
that happens to have the same name as a non-multi sub in plumhead.
Or something like that.

So, when perl6 is loaded first, the :multi sub in perl6 gets
replaced by the non-multi sub in plumhead.  When plumhead is
loaded first, Parrot tries to push the :multi sub in perl6 onto
the (non-:multi) sub in plumhead and throws the exception.

i think you're right -- i dove into the backtrace and found that the sub in question was 'infix:+&', which is multi in perl6 and non-multi in plumhead.

assuming this is the problem, it seems to me that the .HLL sandbox that coke mentioned would solve this. correct?

-jeff

Reply via email to