Skip to content

Commit ac0c57a

Browse files
pirapiraclaude
andcommitted
Fill out README with warnings, setup instructions, and hello world
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c1af4fe commit ac0c57a

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

README.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,42 @@
11
# Lython
2-
Python interpreter written in Lean4?
2+
3+
**Warning: This codebase was vibe-coded in a few hours with Claude. Do not use this for anything of value.**
4+
5+
No theorem proving is involved yet. This is plain Lean4 code that happens to be written in a language with a proof assistant — we're not using that capability at this stage.
6+
7+
Lython is a tree-walking Python 3.12 interpreter written in Lean4. The end goal is to interpret the [leanSpec](https://github.com/leanEthereum/leanSpec) Ethereum consensus specification, so that Python specs go in and Lean4-verified execution comes out. Right now it can run basic Python programs with arithmetic, control flow, functions, lists, dicts, comprehensions, and a handful of built-in functions.
8+
9+
## Running hello world
10+
11+
Install [elan](https://github.com/leanprover/elan) (the Lean version manager):
12+
13+
```bash
14+
curl https://elan.lean-lang.org/elan-init.sh -sSf | sh
15+
```
16+
17+
Clone and build:
18+
19+
```bash
20+
git clone https://github.com/zksecurity/Lython.git
21+
cd Lython
22+
lake build
23+
```
24+
25+
The first build downloads the Lean toolchain and compiles everything — this takes a few minutes.
26+
27+
Write a Python file and run it:
28+
29+
```bash
30+
echo 'print("Hello, World!")' > hello.py
31+
lake exe lython hello.py
32+
```
33+
34+
Run the test suite:
35+
36+
```bash
37+
lake test
38+
```
39+
40+
## Contributing
41+
42+
The codebase is still rapidly changing and the author is pushing to main directly. Please wait for things to stabilize before opening PRs.

0 commit comments

Comments
 (0)