namin/pink
Collapsing Towers of Interpreters (in Scheme)
{ "createdAt": "2017-07-20T20:16:17Z", "defaultBranch": "master", "description": "Collapsing Towers of Interpreters (in Scheme)", "fullName": "namin/pink", "homepage": "", "language": "Scheme", "name": "pink", "pushedAt": "2018-08-22T19:22:08Z", "stargazersCount": 59, "topics": [ "collapsing-towers", "generative-programming", "metaprogramming", "scheme", "towers" ], "updatedAt": "2025-11-19T01:41:56Z", "url": "https://github.com/namin/pink"}Pink in Scheme (Collapsing Towers of Interpreters)
Section titled “Pink in Scheme (Collapsing Towers of Interpreters)”- [
base.scm]!(base.scm) defines the multi-level core language λ↑↓ as a definitional interpreter in Scheme. - [
pink.scm]!(pink.scm) defines the meta-circular stage-parametric interpreter for Pink on top of the base. - [
matcher.scm]!(matcher.scm) defines a matcher as an example on top of Pink. - [
mk.scm]!(mk.scm) defines a µKanren as an example on top of Pink.
Each code file .scm above has a companion -tests.scm, which can be run with Chez Scheme.
For example, chez pink-tests.scm runs all the Pink-related tests.