Many thanks to: A.M. Kuchling ( http://www.amk.ca/ ) for the original parrot-gen.py Sam Ruby ( http://intertwingly.net/ ) for fixing concatenation and the + operator Terry Reedy laid out refactoring plan for self.expression() Leopold Toetsch for tons of great advice with imcc, numerous optimizations, showing how to do type inference, and delivering parrot patches so fast my head spins. :) Luke Palmer for imcc and subroutine advice and optimization tips Joe Ryan suggested the PyObject<->PMC wrapper layer concept Klass-Jan Stol ( http://members.home.nl/joeijoei/parrot/ ) for letting me steal the name from his lua-to-parrot compiler, writing an extremely informative report, and working with me on the s-expression compiler. Gregoire Dooms (http://www.dooms.org/) for helping me figure out how to compile my first attempt at embedding python objects in c :) Dan Sugalski ( http://www.sidhe.org/~dan/blog/ ) for the "What the heck is..." category in his blog, leading the parrot project, and for the pie-thon challenge, even if the terms say he can't use this code. :) Allen Short ( dash on #python ) For a massive patch covering variable binding and IMCC symbol declaration, and for showing me how to implement generators. :) David Chan ( http://sheetmusic.org.uk/ ) For various bugfixes, augmented assignment, and "else" clauses in loops. Ole Martin Bjorndalen ( http://www.cs.uit.no/~olemb/ ) for readlisp.py Sean O'Rourke for explaining .Closure and new_pad semantics Greg Stein, Bill Tutt, Jeremy Hylton, and Mark Hammond for the python compiler package! Guido van Rossum for python of course! :)