[pypy-svn] r18824 - pypy/dist/pypy/doc

pedronis at codespeak.net pedronis at codespeak.net
Fri Oct 21 15:50:15 CEST 2005


Author: pedronis
Date: Fri Oct 21 15:50:14 2005
New Revision: 18824

Modified:
   pypy/dist/pypy/doc/draft-dynamic-language-translation.txt
Log:
some draft intro paragraph about specialisation and polymorphism support



Modified: pypy/dist/pypy/doc/draft-dynamic-language-translation.txt
==============================================================================
--- pypy/dist/pypy/doc/draft-dynamic-language-translation.txt	(original)
+++ pypy/dist/pypy/doc/draft-dynamic-language-translation.txt	Fri Oct 21 15:50:14 2005
@@ -1360,7 +1360,31 @@
 Non-static aspects
 ~~~~~~~~~~~~~~~~~~
 
-XXX specialization (tons of fun)
+Specialization
+***************
+
+The type system used by the annotator does not include polymorphism
+support beyond object-oriented polymorphism with subclasses and
+overriding and parametric polymorphism for  builtin containers (lists,
+...). In this respect we opted for simplicity, considering this in
+most cases sufficient for the kind of system programming RPython is
+aimed at and matching our main targets. It mostly eschews the
+complexity of needing strategies to infer type parameters and to
+control instantiation explosion or type erase and coalesce after the
+fact, strategies that would also need to be target specific.
+
+We opted instead for either using the expressivity allowed for
+bootstrap code which is unrestricted Python or having the annotator
+support special explicit flags attached to functions or classes,
+to achieve necessary forms of ad-hoc or parametric polymorphism when
+the limited support for polymorphism in the annotator is insufficient
+or in other cases to control what is effectively translated versus the
+original code with annotation-time forms of specialization or even
+substitution for code units (functions or classes).
+
+XXX details of what is supported
+
+
 
 XXX executing more user program code (idem)
 



More information about the Pypy-commit mailing list