Discover more from Matt Rickard
The Python Family of Languages
Python is everywhere. A list of supersets, subsets, major implementations, and transpiled languages that borrow from Python.
Cython: Superset of Python that lets you write C extensions. Python-like syntax, static typing, and direct C API access.
Hy: A Lisp dialect that embedded in Python. Transforms Lisp code into a Python AST.
Mojo: A new Python superset that seems to integrate with Cython and provide more extensions to target accelerators.
Stackless Python: A modified version of the Python interpreter that supports lightweight concurrency that avoids adding a new frame to the call stack for every function.
RPython: A subset of Python used to write the PyPy interpreter. Statically typed and has some restrictions. It can be translated to C.
Skylark (Starlark): A dialect of Python used as the configuration language for the Bazel build system. Syntactically a subset of both Python 2 and Python 3.
Pythran: Ahead-of-time compiler for a subset of Python with a focus on scientific computing.
Numba: JIT compiler for a subset of Python and NumPy code.
MicroPython: A subset that aims to efficiently implement Python 3 for microcontrollers and other constrained environments.
CircuitPython: A fork of MicroPython geared at educational use cases (e.g., RaspberryPi, Adafruit).
TorchScript: A subset of Python used to create serializable and optimizable models from PyTorch code.
Python Implemented in Other Languages
Jython: Implements Python in Java, running on the JVM. Mainly used to embed Python in Java as a scripting language.
GraalPy: Like Jython, but targets the GraalVM.
IronPython: Implements Python in .NET.
RustPython: Implements Python in Rust.
Languages that compile to Python
Coconut: A functional programming language that compiles to Python. Any valid Python code is valid Coconut code.
Languages that compile Python to something else