Matt Rickard

Share this post

The Python Family of Languages

blog.matt-rickard.com

Discover more from Matt Rickard

Thoughts on engineering, startups, and AI.
Continue reading
Sign in

The Python Family of Languages

May 3, 2023
3
Share this post

The Python Family of Languages

blog.matt-rickard.com
1
Share

Python is everywhere. A list of supersets, subsets, major implementations, and transpiled languages that borrow from Python. 

Python “Supersets”

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. 

Python “Subsets”

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

Brython: Python 3 adapted to HTML5 and the DOM. Use Python inside script tags. Converts Python into JavaScript.

3
Share this post

The Python Family of Languages

blog.matt-rickard.com
1
Share
Previous
Next
1 Comment
Share this discussion

The Python Family of Languages

blog.matt-rickard.com
Ye Lin
May 4Liked by Matt Rickard

There is Pyston https://www.pyston.org/ as well.

Expand full comment
Reply
Share
Top
New
Community

No posts

Ready for more?

© 2023 Matt Rickard
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing