crosslang/CorpusCheck.lean
Maximus Gorog 2173e196fe Initial scaffold: Lean 4 reimplementation of Go.
Mirrors the layout of octive-lean: lakefile, justfile, gitignored
upstream clone, a top-level library module, and a Main entry point
that switches between REPL and file execution.

Module skeleton in GolangLean/:
  Token, AST           — real ports of go/token and go/ast
  Scanner, Parser      — stubs throwing notImpl, point at upstream
  Value, Env, Error    — runtime data shapes
  Eval, Builtins, REPL — stubs that compile and run as a placeholder
  PureEval, BigStep,
  ValueEquiv           — formal-semantics layer (mirroring octive-lean)
                         where cross-language proof eventually lives.

The proof layer is shaped identically to octive-lean's so that
theorems about Go semantics will share their form with the Octave
ones — that shared shape is the candidate for the future
cross-language core.

Upstream reference go-upstream/ (shallow clone of golang/go) is
gitignored.
2026-05-10 02:12:19 -06:00

9 lines
380 B
Text

import GolangLean
/-! Corpus driver — runs every `.go` script under `corpus/` and compares
the captured stdout to the matching `.expected` file. Mirrors octive-lean's
`CorpusCheck`. Currently a no-op until the interpreter exists. -/
def main (_args : List String) : IO UInt32 := do
IO.println "golang-lean corpus-check: no corpus yet (interpreter is a scaffold)"
return 0