[pypy-dev] Refining terminology

holger krekel hpk at trillke.net
Tue Jul 12 12:19:33 CEST 2005


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



More information about the Pypy-dev mailing list