A Framework for Extending microKanren with Constraints
Abstract
We present a framework for building CLP languages with symbolic constraints based on microKanren, a domain-specific logic language shallowly embedded in Racket. We rely on Racket's macro system to generate a constraint solver and other components of the microKanren embedding. The framework itself and the constraints' implementations amounts to just over 100 lines of code. Our framework is both a teachable implementation for CLP as well as a test-bed and prototyping tool for symbolic constraint systems.
- Publication:
-
arXiv e-prints
- Pub Date:
- January 2017
- DOI:
- 10.48550/arXiv.1701.00633
- arXiv:
- arXiv:1701.00633
- Bibcode:
- 2017arXiv170100633H
- Keywords:
-
- Computer Science - Programming Languages;
- D.1.6 Logic Programming;
- D.3.2 Constraint and Logic Languages;
- D.3.3 Constraints
- E-Print:
- In Proceedings WLP'15/'16/WFLP'16, arXiv:1701.00148