Engli 1.0.0 · Python 3.12+

Programming,
in plain English.

Engli is a serious, general-purpose, Turing-complete programming language designed to read like English — without sacrificing real programming power.

hello.engli
Set name to "World".
Say "Hello, {name}.".

English-like.
Actually powerful.

Engli keeps the syntax readable while providing the building blocks you'd expect from a real programming language.

◈

English-like syntax

Write code that reads naturally. Commands such as Set, Say, If, and While are immediately understandable.

∞

Turing-complete

This isn't a toy syntax. Engli supports the control flow, data structures, functions, and runtime features needed for general-purpose programming.

λ

Functions

Define reusable functions with readable declarations, arguments, return values, and normal program structure.

▦

Rich data structures

Work with lists, maps, objects, custom types, and enumerations directly in the language.

↗

Real-world I/O

Engli can work with files, terminal commands, HTTP, JSON, and imported modules.

⚡

Concurrency

Start tasks and wait for them to finish using readable concurrency primitives.

Code that explains itself.

Engli uses a deterministic grammar while keeping its programs approachable. You shouldn't need to decode punctuation before understanding what the program does.

example.engli
Set name to "AB".
Set age to 20.

If age is greater than or equal to 18:

    Say "Hello, {name}.".

It looks like English.

But underneath, Engli has a lexer, parser, semantic analyzer, interpreter, runtime, and standard library.

program.engli
Set x to 10.
Add 5 to x.
Say x.
output
15

Built for actual programs.

Engli's syntax may be friendly, but its feature set goes far beyond basic examples.

▤

Imports & modules

Split programs into multiple files and import functionality where you need it.

{ }

JSON

Parse HTTP responses and other JSON data directly from Engli programs.

⌁

HTTP

Send HTTP requests and work with their responses from within the language.

▣

Filesystem

Read files and interact with data stored on disk.

$_

Terminal commands

Execute terminal commands and store their results in Engli variables.

!

Error handling

Use structured try/error handling for programs that need to deal with failures.

A real interpreter.

Engli follows a traditional language implementation pipeline, from source code all the way to execution.

Source .engli
Loader reads code
Lexer tokens
Parser AST
Semantic validation
Interpreter execution

One command to run it.

Install Engli, write a program, and run it directly.

terminal
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -e .
$ engli hello.engli

Hello, World.

$ engli repl

Engli REPL 1.0.0
> Set x to 10.
> Add 5 to x.
> Say x.
15

Give English
a compiler.

Explore the source, read the documentation, or start writing Engli programs.