1778
Comment: converted to 1.6 markup
|
3064
Added Genie.
|
Deletions are marked like this. | Additions are marked like this. |
Line 12: | Line 12: |
* [[http://www.mhuffman.com/resource/index.html|Tiny Python]] | * [[http://www.mhuffman.com/resource/index.html|Tiny Python]] - not to be confused with tinypy, below * [[http://code.google.com/p/unladen-swallow/|unladen-swallow]] - "an optimization branch of CPython, intended to be fully compatible and significantly faster" * [[http://code.google.com/p/wpython/|wpython]] - a re-implementation of CPython using "wordcode" instead of bytecode |
Line 21: | Line 23: |
* [[https://www.cs.cmu.edu/~music/aura/serpent-info.htm|Serpent]] | * [[http://www.synapse-wireless.com/documents/whte_paper/SNAP_WP_102108.pdf|SNAPpy]] - "a subset of the Python language that has been optimized for use in low-power embedded devices" (apparently proprietary) |
Line 25: | Line 27: |
Line 27: | Line 30: |
* [[http://convergepl.org/|Converge]] - inspired by Python, Haskell, Icon and Smalltalk, provides macros which can be evaluated at compile-time * [[http://delight.sourceforge.net/|Delight]] - based on the D programming language * [[http://live.gnome.org/Genie|Genie]] - based on the same foundations (Gtk+, GNOME) as the Vala programming language * [[https://www.cs.cmu.edu/~music/aura/serpent-info.htm|Serpent]] |
|
Line 31: | Line 38: |
* [[http://sourceforge.net/projects/shedskin/|Shed Skin]] - a Python-to-C++ compiler | * [[http://cython.org/|Cython]] - an optimising Python-to-C compiler, CPython extension module generator, and wrapper language for binding external libraries * [[http://code.google.com/p/shedskin/|Shed Skin]] - a Python-to-C++ compiler * [[http://code.google.com/p/unpython/|unPython]] - a Python to C compiler using type annotations |
Line 39: | Line 48: |
"[[http://phaseit.net/claird/comp.lang.python/python_varieties.html|Cameron Laird's personal notes on varieties of Python implementation]]". | "[[http://phaseit.net/claird/comp.lang.python/python_varieties.html|Cameron Laird's personal notes on varieties of Python implementation]]". Also of interest will be IntegratingPythonWithOtherLanguages, which, among other variants, mentions ''embeddings'' of Python in other languages. |
Python Implementations
An "implementation" of Python should be taken to mean a program or environment which provides support for the execution of programs written in the Python language, or some broadly similar dialect of the language.
There have been and are several distinct software packages providing of what we all recognize as Python, although some of those are more like distributions or variants of some existing implementation than a completely new implementation of the language.
CPython Variants
CPython - the reference Python implementation
ActivePython - a CPython variant
Tiny Python - not to be confused with tinypy, below
unladen-swallow - "an optimization branch of CPython, intended to be fully compatible and significantly faster"
wpython - a re-implementation of CPython using "wordcode" instead of bytecode
Other Implementations
CLPython - Python in Common Lisp
IronPython - Python in C# for the Common Language Runtime (CLR/.NET)
Jython - Python in Java for the Java platform
PyMite - Python for embedded devices
PyPy - Python in Python, targeting several environments
SNAPpy - "a subset of the Python language that has been optimized for use in low-power embedded devices" (apparently proprietary)
tinypy - a minimalist implementation of python in 64k of code
Closely related but arguably distinct languages
- Boo
Converge - inspired by Python, Haskell, Icon and Smalltalk, provides macros which can be evaluated at compile-time
Delight - based on the D programming language
Genie - based on the same foundations (Gtk+, GNOME) as the Vala programming language
Compilers
Compyler - an attempt to "transliterate the bytecode into x86 assembly"
Cython - an optimising Python-to-C compiler, CPython extension module generator, and wrapper language for binding external libraries
Shed Skin - a Python-to-C++ compiler
unPython - a Python to C compiler using type annotations
Topic Guides
This page aims to replace one formerly maintained as "Cameron Laird's personal notes on varieties of Python implementation". Also of interest will be IntegratingPythonWithOtherLanguages, which, among other variants, mentions embeddings of Python in other languages.