staged-miniKanren
A novel framework for staging interpreters written as relations, in which the programs under interpretation are allowed to contain holes representing unknown values. We apply this staging framework to a relational interpreter for a subset of Racket, and demonstrate significant performance gains across multiple synthesis problems.
PDF)
Draft (Run
Clone https://github.com/namin/faster-miniKanren into a sibling directory, and checkout the staged
branch.
Then see Run.