I'm not sure if this is directly related or not, but making this
mechanism support custom compilation for new filename suffixes would
be nice, especially for various e.g. HTML/XML templating systems that
compile to Python or bytecode.

Specifically, having a way to add a new source suffix (e.g. ".kid",
".zpt", etc.) and a matching compilation function, such that it's
automatically picked up for compilation by both the filesystem and zip
importers would be awesome.  It'd also allow for DSLs and syntax
experiments using alternative filename extensions.

How would the compilation (and the resulting code) then be invoked?

If it is through import statements, it should already be possible to
have import load an html file.

However, ISTM that what you want is not modules, but files which rather
are similar to individual functions. So the feature would go as an extension
to exec() or eval(). I'm skeptical that this can be generalized in a useful
manner - the exec/eval/execfile family already has variations depending
on whether the thing to run is a single statement, a block, or an
expression. It matters whether it gets its parameters passed, or somehow
draws them from the environment - and then, which sources?

If you would want to support HTML template engines alone, you find that
they typically have many distinct parameter sets (the request, the
ORM, the process environment, and then actual python-level parameters).
So defining something that compiles it may be the easy part; the
tricky part is defining something that then executes it.

Regards,
Martin


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to