Hi, I have found a reference for a very interesting project related to accelerating Python with some nice ideas, that maybe could be applied to Parrot too.
It's called Psyco (standing for Python Specializing Compiler) and works (if I understood it right) by creating specialized versions of python functions which optimize a particular type of parameters. The specialization can happen both at compile-time, run-time, or (most of times) will start at compile-time, stop until some run-time value is known, compile a bit more, and so on. It is a quite general trick, and could be used to implement some of the optimizing strategies that have been discussed here (like PMC opcodes inlining, constant folding, etc..) without requiring Parrot to know on advance things that it simply cannot know. They have some problems that are very similar to the ones discussed in this mailing list in a previous thread (users can redefine bultins, globals can get rebound somewhere in the wild, etc..); they have not addressed this yet, but suggest having a signal system on the globals lexical hash that fires a backtrack when anyone is playing dangerous games with it). The URL is http://homepages.ulb.ac.be/~arigo/psyco/ ; they have some very nice documents that explain all with a great detail. I wonder whether Parrot could stole some ideas of this.. Just mi half a cent. -Angel Faus [EMAIL PROTECTED]