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 Pythran is a restricted Python-to-C++ compiler intended for scientific
21 programs:
22
23 https://github.com/serge-sans-paille/pythran
24
25 "Pythran: Enabling Static Optimization of Scientific Python Programs"
26 http://stefan.pythonanywhere.com/download/13
27
28 PySonar performs whole-program analysis to deduce types and produce annotated
29 program summaries (apparently being a later version of the program indexer
30 contributed to Jython):
31
32 http://yinwang0.wordpress.com/2010/09/12/pysonar/
33 http://yinwang0.wordpress.com/2013/06/21/pysonar-slides/
34
35 A reimplementation of PySonar by the same author has also been made available:
36
37 https://github.com/yinwang0/mini-pysonar
38
39 CapPython limits attribute access in order to facilitate code verification:
40
41 http://mail.python.org/pipermail/python-dev/2008-September/082475.html
42
43 Advocacy for limited module-level initialisation:
44
45 http://plope.com/Members/chrism/import_time_side_effects
46
47 A question about attributes illustrating Python's deficiencies around
48 compile-time error detection, met with properties dogma despite accessor
49 methods being genuinely appropriate in various situations:
50
51 http://mail.python.org/pipermail/python-list/2009-November/1227265.html
52 http://groups.google.com/group/comp.lang.python/browse_frm/thread/c07268689549cf01/
53
54 A discussion of how closures often obscure intent and how the use of classes
55 and functions is often preferable:
56
57 http://artificialcode.blogspot.com/2009/04/python-functional-programming.html
58
59 Nuitka is a Python-to-C++ compiler which initially focused on complete Python
60 compatibility in preference to static analysis:
61
62 http://nuitka.net/
63
64 P3 is similar to Nuitka in nature and goals, but appears to have stopped short
65 of the stated ambitions of significant program optimisation:
66
67 https://github.com/jaredp/PythonCompiler
68
69 "The P3 Compiler: compiling Python to C++ to remove overhead"
70 http://www.cs.columbia.edu/~aho/cs6998/reports/12-12-11_Pochtar_P3Compiler.pdf