Erg Programming Language

A statically typed language that can deeply improve the Python ecosystem.

Star Sponsor
Explore Erg ⇩



Erg has a strong type system and comfortable compiler support. For example, it has dependent types and refinement types. These types strongly encode pre-conditions, invariant conditions, etc. into the code.

Simplicity & Consistency

Erg consists of a very simple and consistent syntax, which can significantly reduce the amount of code compared to other languages. However, its functionality is not inferior to them. Since the type inference system is powerful, you can code like a dynamically typed language.


In addition to the readability of the syntax itself, Erg defines a rich set of methods and functions by default to improve code readability.

Multi Paradigm

Functional & Object-Oriented


Erg requires some kinds of markers to be placed on code that causes side effects or changes internal state, which can localize the complexity of code. This will greatly improve the maintainability of your code.

Programmer Friendly

Erg is committed to providing error messages that are easy to read and various development tools. Erg also provide multilingual support for error messages, etc.

Interoperability with Python

Erg code can be compiled into Python bytecode. This means you have zero-cost access to your Python assets with Erg.

Multiple Backends