* Welcome to the bytecodehacks!

The notorious bytecodehacks rewrite the bytecode of functions to do
unlikely things in Python.

The package (and that's how it's distributed) splits into two parts -
the bytecode editing routines and the "bytecodehacks" that are usable
without a degree in python arcanery, although one might help
understand some of the consequences.

Some highlights:

bytecodehacks.closure - bind global references to constants
bytecodehacks.xapply - a sort-of lazy apply
bytecodehacks.inline - Python gets inline functions
bytecodehacks.macro - Python gets semantic (hygienic) macros!

Please note that these modules are not really bullet-proof, more a
proof-of-concept than anything else.

* License

This package is distributed under a deliberately liberal Python-style
license; please see the file LICENCE to satisfy any cravings you may
have for legalese.

* Documentation

This is now distributed separately from the bytecodehacks in the
bytecodehacks-doc module in sourceforge.

* Installation

The bytecodehacks now use distutils for (hopefully) easy installation.
If you have distutils installed, just execute

python setup.py install

in the base of the untarred distribution.

If you don't, don't fret; either go to 

http://www.python.org/sigs/distutils-sig/

to get the distutils, or just copy the bytecodehacks folder somewhere
onto your $PYTHONPATH.

* Home page

bytecodehacks now have a home on SourceForge; go to

    http://bytecodehacks.sourceforge.net

to see the incredibly unimaginative web site.  The project page and
the documentation in HTML are reachable from here.

Thanks for taking an interest.
