Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/namin/staged-minikanren
staged relational interpreters: running with holes, faster
https://github.com/namin/staged-minikanren
generative-programming minikanren multi-stage-programming racket scheme
Last synced: about 2 months ago
JSON representation
staged relational interpreters: running with holes, faster
- Host: GitHub
- URL: https://github.com/namin/staged-minikanren
- Owner: namin
- Created: 2017-11-05T19:59:39.000Z (over 7 years ago)
- Default Branch: semantics
- Last Pushed: 2024-11-15T05:51:14.000Z (3 months ago)
- Last Synced: 2024-12-24T02:50:07.769Z (about 2 months ago)
- Topics: generative-programming, minikanren, multi-stage-programming, racket, scheme
- Language: Racket
- Homepage:
- Size: 1.01 MB
- Stars: 126
- Watchers: 13
- Forks: 16
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.
## Installation
- `git submodule init`
- `git submodule update`
- Install as Racket package, including dependencies, with `raco pkg install` in this directory.## Running
- `racket tests/all.rkt`
- `racket tests/all-bench.rkt`