On Mon, 3 Sep 2001, Dan Sugalski wrote:
> >avoid using a "call" opcode all over the place, right?
>
> No, more a "try and leave the bytecode sections read-only" hack.
>
> Imagine, if you will, building LWP and bytecode compiling it. It uses
> private opcodes 1024-1160. Then you later build, say, MIME::Lite, which
> uses opcodes 1024-1090.
I was referring to the practice of having compilation units create private
opcodes. Am I wrong in thinking this is a new technique deserving of an
excuse for existence?
> Up until now, I didn't know, so consider yourself the first to find out. :)
I'm honored...
> * Integer, String, and Number registers 0-x are used to pass parameters
> when the compiler calls routines.
s/compiler/interpreter/, right?
> * Subs may have variable number, or unknown number, of PMC parameters.
> (Basically Parrot variables) They may *not* take a variable or unknown
> number of integer, string, or number parameters.
I don't understand this restriction. Won't it make implementing variadic
functions more difficult?
> Don't consider this list final until I've had a chance to run it past
> Larry. He might be thinking of allowing prototypes to change, or spring
> into existance relatively late in the game. (In which case we probably get
> a call_in_list and call_in_registers form of sub call)
Or those other language designers you're wooing, right? The prototype
stuff sounds pretty Perl specific.
-sam