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 been made available:
36
37 https://github.com/yinwang0/mini-pysonar
38
39 The second version of PySonar has also been made available:
40
41 https://github.com/yinwang0/pysonar2
42
43 CapPython limits attribute access in order to facilitate code verification:
44
45 http://mail.python.org/pipermail/python-dev/2008-September/082475.html
46
47 Advocacy for limited module-level initialisation:
48
49 http://plope.com/Members/chrism/import_time_side_effects
50
51 A question about attributes illustrating Python's deficiencies around
52 compile-time error detection, met with properties dogma despite accessor
53 methods being genuinely appropriate in various situations:
54
55 http://mail.python.org/pipermail/python-list/2009-November/1227265.html
56 http://groups.google.com/group/comp.lang.python/browse_frm/thread/c07268689549cf01/
57
58 A discussion of how closures often obscure intent and how the use of classes
59 and functions is often preferable:
60
61 http://artificialcode.blogspot.com/2009/04/python-functional-programming.html
62
63 Nuitka is a Python-to-C++ compiler which initially focused on complete Python
64 compatibility in preference to static analysis:
65
66 http://nuitka.net/
67
68 P3 is similar to Nuitka in nature and goals, but appears to have stopped short
69 of the stated ambitions of significant program optimisation:
70
71 https://github.com/jaredp/PythonCompiler
72
73 "The P3 Compiler: compiling Python to C++ to remove overhead"
74 http://www.cs.columbia.edu/~aho/cs6998/reports/12-12-11_Pochtar_P3Compiler.pdf
75
76 Micro Python appears similar to python-on-a-chip/PyMite but apparently employs
77 a compiler to generate code that uses unboxed integers and method references
78 that resemble the context-plus-value references used in this project, as well
79 as supporting low-level execution semantics and inline assembly language:
80
81 http://micropython.org/
82 http://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers
83 http://code.google.com/p/python-on-a-chip/