argumentcomputer / lurk

Lurk is a Turing-complete programming language for zk-SNARKs. It is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisp.
https://docs.argument.xyz
MIT License
46 stars 3 forks source link

Mutual recursive `letrec` #334

Closed gabriel-barrett closed 1 month ago

gabriel-barrett commented 1 month ago

Very simple implementation of mutual recursive letrecs. This requires constructing a letrec on the fly, but there should be a better solution by changing how thunks work

Edit: There is a solution that doesn't require constructing letrecs on the fly and it's implemented in the last commits