Following along with the current lolcat fad, and taking inspiration from lolcode, I've implemented LOLPython. For details and downloads see
http://www.dalkescientific.com/writings/diary/archive/2007/06/01/lolpython.html Here's an example implementation of a Fibonacci number generator SO IM LIKE FIBBING WIT N OK? LOL ITERATE FIBONACCI TERMS LESS THAN N /LOL SO GOOD N BIG LIKE EASTERBUNNY BTW, FIBONACCI LIKE BUNNIES! LOL U BORROW CHEEZBURGER U BORROW CHEEZBURGER I CAN HAZ CHEEZBURGER HE CAN HAZ CHEEZBURGER WHILE I CUTE? I AND HE CAN HAZ HE AND I ALONG WITH HE IZ HE BIG LIKE N? KTHXBYE U BORROW HE The lolpython.py runtime converts LOLPython to Python. def FIBBING ( N ) : 'ITERATE FIBONACCI TERMS LESS THAN N' assert N >= 0 # BTW, FIBONACCI LIKE BUNNIES! LOL yield 1 yield 1 I = 1 HE = 1 while 1: I , HE = HE , I + HE if HE >= N : break yield HE and by default exec's the translated code. You might also be interested looking at the code because I use PLY for tokenization and translate the token stream into Python code which is then exec'ed. The neatest part was making the exec'ed code act like it was in __main__ using module_name = "__main__" python_s = to_python(lolpython_s) m = types.ModuleType(module_name) sys.modules[module_name] = m exec python_s in m.__dict__ which is a trick others might use when implementing interesting import hooks. LOLPython, at http://www.dalkescientific.com/writings/diary/archive/2007/06/01/lolpython.html Please note that LOLPython does not implement the lolcode standard language. While I was influenced by some of the language I wanted something which was semantically equivalent to Python, including support for classes, exceptions and the yield statement. For an implementation of lolcode in Python (and also using PLY) see sjlol at: http://lolcode.com/implementations/sjlol and a full list of implementations at http://lolcode.com/implementations/implementations including IDE support in Visual Studio. Andrew Dalke [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html