Lurk is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisp. A reference implementation focused on describing and developing the

Search code, repositories, users, issues, pull requests...

submited by
Style Pass
2025-08-08 17:30:13

Lurk is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisp. A reference implementation focused on describing and developing the core language can be found in the lurk-lisp repo.

Lurk's distinguishing feature relative to most programming languages is that the correct execution of Lurk programs can be directly proved using SNARKs. The resulting proofs are succinct: they are relatively small, can be verified quickly, and they reveal only the information explicitly contained in the statement to be proved.

Lurk's distinguishing feature relative to most SNARK authoring languages is that Lurk is Turing complete, so arbitrary computational claims can be made and proved (subject to resource limitations, obviously). Because Lurk is a Lisp, its code is simply Lurk data, and any Lurk data can be directly evaluated as a Lurk program. Lurk constructs compound data using SNARK-friendly Poseidon hashes, so its data is naturally content-addressable.

The Lurk User Manual covers the information necessary to get started. The demo directory contains some simple examples for those who want to see what Lurk programs look like.

Leave a Comment
Related Posts