1 Displacement tables are described in various publications:
2
3 Jan Vitek, R. Nigel Horspool:
4 "Taming Message Passing: Efficient Method Look-Up for Dynamically Typed Languages"
5
6 Karel Driesen:
7 "Software and Hardware Techniques for Efficient Polymorphic Calls"
8
9 Shed Skin imposes various restrictions in order to facilitate compilation to
10 C++:
11
12 http://shedskin.googlecode.com/
13
14 RPython imposes different restrictions in order to facilitate compilation to
15 other languages:
16
17 http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#restricted-python
18 http://groups.google.com/group/shedskin-discuss/msg/3f6a4ff34561a97c?dmode=source&output=gplain
19
20 PySonar performs whole-program analysis to deduce types and produce annotated
21 program summaries (apparently being a later version of the program indexer
22 contributed to Jython):
23
24 http://yinwang0.wordpress.com/2010/09/12/pysonar/
25 http://yinwang0.wordpress.com/2013/06/21/pysonar-slides/
26
27 A reimplementation of PySonar by the same author has also been made available:
28
29 https://github.com/yinwang0/mini-pysonar
30
31 CapPython limits attribute access in order to facilitate code verification:
32
33 http://mail.python.org/pipermail/python-dev/2008-September/082475.html
34
35 Advocacy for limited module-level initialisation:
36
37 http://plope.com/Members/chrism/import_time_side_effects
38
39 A question about attributes illustrating Python's deficiencies around
40 compile-time error detection, met with properties dogma despite accessor
41 methods being genuinely appropriate in various situations:
42
43 http://mail.python.org/pipermail/python-list/2009-November/1227265.html
44 http://groups.google.com/group/comp.lang.python/browse_frm/thread/c07268689549cf01/
45
46 A discussion of how closures often obscure intent and how the use of classes
47 and functions is often preferable:
48
49 http://artificialcode.blogspot.com/2009/04/python-functional-programming.html
50
51 Nuitka is a Python-to-C++ compiler which initially focused on complete Python
52 compatibility in preference to static analysis:
53
54 http://nuitka.net/
55
56 P3 is similar to Nuitka in nature and goals, but appears to have stopped short
57 of the stated ambitions of significant program optimisation:
58
59 https://github.com/jaredp/PythonCompiler
60
61 "The P3 Compiler: compiling Python to C++ to remove overhead"
62 http://www.cs.columbia.edu/~aho/cs6998/reports/12-12-11_Pochtar_P3Compiler.pdf