On Tue, Jul 31, 2001 at 11:10:50PM +0300, Moshe Zadka wrote:
On Tue, 31 Jul 2001, Guido van Rossum <guido@zope.com> wrote:
Actually, this may not be as big a deal as I thought before. The PVM doesn't have a lot of knowledge about types built into its instruction set. It knows a bit about classes, lists, dicts, but not e.g. about ints and strings. The opcodes are mostly very abstract: BINARY_ADD etc.
PUSH "1" PUSH "2" BINARY_ADD
In Python that gives "12". In Perl that gives 3. Unless you suggest a PERL_BINARY_ADD and a PYTHON_BINARY_ADD, I don't see how you can around these things.
The Perl version of the compiled code could of course be PUSH "1" COERCE_INT PUSH "2" COERCE_INT BINARY_ADD for Perl's "1" + "2" and PUSH "1" PUSH "2" BINARY_ADD for it's "1" . "2" (or, in the case of variables instead of literals, an explicit 'COERCE_STRING' or whatever.) -- Thomas Wouters <thomas@xs4all.net> Hi! I'm a .signature virus! copy me into your .signature file to help me spread!