Hi folks,
i have just started to write some documentation about PyPy's
bytecode interpreter (only the overview chapter in fact see
http://codespeak.net/pypy/index.cgi?doc/interpreter.html ).
And i realized that i'd like to push to refine the terminology
we are using throughout the PyPy documentation and our
presentations.
For starters, i think that it does not make sense to fight
against the common notion of an "interpreter" refering to
the whole thing (our bytecode interpreter + objectspace).
If we want to refer to the "pure" thing, we should thus talk
of the "bytecode interpreter". Usually refering to our
(Python) Interpreter then really means StdObjSpace + the
bytecode interpreter.
Other wording issues are the various "times", "levels",
"phases" and "passes" we are talking about. I think
we desparately need pictures to support a clear
and consistent terminology and make it more obvious
to everyone. This may become even more important when
we'll go for a JIT-compiler interweaving levels as well
as compile- and runtimes some more.
Well, maybe we should just go through the effort of
creating a "glossary" containing the basic vocabulary
we are using for describing what PyPy does and how
it works. And i think we should try to reuse common
VM/Compiler terminology, even refering to Wikipedia and
other public resources, to make it easier for non-Python/PyPy
crowds to understand what we are doing.
I guess that some of you may think that it is only
real working code that matters (i know some do :-).
But i think this is not true. Communicating the concepts
is and has always been a major issue of the whole project.
Any opinions or feedback (also from people just following
the project's progress)?
cheers,
holger
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev