A programming language that reads like plain English. Zero syntax friction, native Python speeds.
Project description
📖 Prose
Programming in plain English. No brackets, no semicolons, no cryptic symbols.
Prose is a programming language designed to read like natural language. It removes the syntax barriers that stop beginners from learning to code, while packing enough power to build desktop apps, work with databases, and crunch numbers at Python speeds.
Note: This is actual, working code.
Let sentence be "the quick brown fox".
Let words be split sentence by " ".
For each word in words do the following.
If word contains "fox" then do the following.
Say "Found it!".
End if.
End for.
⚡ Why Prose?
1. Zero Syntax Friction
Most beginners fail because they miss a semicolon or forget a closing bracket. Prose has zero symbolic syntax. Every instruction is a sentence that ends with a full stop " .".
2. Two Gears: Simple and Blazing Fast
Prose comes with two ways to run your code:
- Interpreter (
prose.py): Tree-walking interpreter giving instant, friendly feedback and excellent error messages. Great for beginners. - Transpiler (
prose.py build): Compiles your Prose code directly into native Python script, unleashing the full speed of the CPython Engine.
3. Serious Power Included
Prose isn't a toy. Out of the box, it supports:
- Native desktop window GUIs
- An embedded SQLite database
- File I/O
- HTTP networking
- Object-Oriented Programming (Classes & Inheritance)
🏎️ Performance Benchmarks
When using the Prose Transpiler (build mode), your code runs at native Python speed. Here is how Prose (Transpiled) holds up against Python 3 and Node.js for fundamental operations.
| Test | Python 3 | Node.js | Prose (Interpreter) | Prose (Transpiled) |
|---|---|---|---|---|
| Fibonacci (Pure recursion) | 0.113s | 0.051s | 1.915s | 0.076s |
| Prime Sieve (Nested loops) | 0.042s | 0.045s | 28.070s | 0.678s |
| Bubble Sort (Swap ops) | 0.080s | 0.049s | 0.179s | 0.039s |
| Word Frequency (Dict ops) | 0.038s | 0.045s | 0.098s | 0.068s |
Note: The ~0.03s-0.07s floor on these tests represents process startup overhead. Prose Transpiled is generating 1:1 pure Python source code.
🚀 Getting Started
No npm install, no pip install. You just need Python 3.9+ on your system.
git clone https://github.com/eres45/Prose.git
cd Prose
Run an example:
python prose.py samples/01_hello.prose
� Documentation & Guides
We've written a complete, beginner-friendly 5-part guide to take you from printing "Hello" to building database-backed GUI apps.
- Part 1: Getting Started — Variables, running code
- Part 2: Variables & Logic — Math, conditions, strings
- Part 3: Loops & Lists — Iteration and filtering
- Part 4: Functions & Files — Reuse, HTTP, File I/O
- Part 5: Advanced Features — GUIs, Databases, Classes, Async
🛠️ The VS Code Extension
Prose comes with a native syntax highlighter for VS Code.
- Copy the
vscode-extensionfolder to your VS Code extensions directory (~/.vscode/extensions/on Mac/Linux or%USERPROFILE%\.vscode\extensions\on Windows). - Restart VS Code.
- Enjoy full syntax highlighting for all
.prosefiles!
🤝 Contributing
Prose is open-source. Whether you're adding new standard library modules or improving the parser, pull requests are incredibly welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prose_lang-1.0.0.tar.gz.
File metadata
- Download URL: prose_lang-1.0.0.tar.gz
- Upload date:
- Size: 45.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bfa1c409e838d95e6e3f4cc2be43cc4e3822c19907fdcc5ede45051a68a630a
|
|
| MD5 |
eb48cbfd2eb8c4ac717f411b9dcfc9a3
|
|
| BLAKE2b-256 |
08c9eb5bf22efee468c8e0dc7dea1c67671303bf29ed0c54c23a7c16725046b4
|
File details
Details for the file prose_lang-1.0.0-py3-none-any.whl.
File metadata
- Download URL: prose_lang-1.0.0-py3-none-any.whl
- Upload date:
- Size: 45.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8ba60d04e3fc552e6865a7627933288675e9bb975d3209bb41dc07ab71246d5
|
|
| MD5 |
e9a0e6574406f517da9bd609ff7e5c98
|
|
| BLAKE2b-256 |
9b88ec0da6fc2ad432dc3815c83df62840146b7a4c7ac82de357b02d347bbf47
|