Initial commit

This commit is contained in:
Greg Shuflin
2025-12-01 00:37:22 -08:00
commit 97aa8685f9
9 changed files with 41 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/.lake

3
LeanGraphics.lean Normal file
View File

@@ -0,0 +1,3 @@
-- This module serves as the root of the `LeanGraphics` library.
-- Import modules here that should be built as part of the library.
import LeanGraphics.Basic

1
LeanGraphics/Basic.lean Normal file
View File

@@ -0,0 +1 @@
def startupMsg := "Lean4 graphics test"

4
Main.lean Normal file
View File

@@ -0,0 +1,4 @@
import LeanGraphics
def main : IO Unit :=
IO.println s!"{startupMsg}"

9
README.md Normal file
View File

@@ -0,0 +1,9 @@
# lean-graphics
This is an experiment in writing GUI programs using Lean4.
## Prior art
- Lean4 SDL3 bindings: https://github.com/ValorZard/lean-sdl3 and https://github.com/ValorZard/lean-sdl-test
- Doom-like game: https://github.com/oOo0oOo/LeanDoomed

7
justfile Normal file
View File

@@ -0,0 +1,7 @@
_default:
@just --list
# Run main binary
run:
lake exec lean-graphics

5
lake-manifest.json Normal file
View File

@@ -0,0 +1,5 @@
{"version": "1.1.0",
"packagesDir": ".lake/packages",
"packages": [],
"name": "«lean-graphics»",
"lakeDir": ".lake"}

10
lakefile.toml Normal file
View File

@@ -0,0 +1,10 @@
name = "lean-graphics"
version = "0.1.0"
defaultTargets = ["lean-graphics"]
[[lean_lib]]
name = "LeanGraphics"
[[lean_exe]]
name = "lean-graphics"
root = "Main"

1
lean-toolchain Normal file
View File

@@ -0,0 +1 @@
leanprover/lean4:v4.25.2