2017/01/03 by Jason Hemann, Daniel P. Friedman · 1 voice
Computer Science · #cs.PL
paper · pdf · doi:10.4204/eptcs.234.10
published as EPTCS 234, 2017, pp. 135-149 · In Proceedings WLP'15/'16/WFLP'16, arXiv:1701.00148
arxiv created 2017/01/03 · arxiv published 2017/01/03 · arxiv updated 2017/01/04
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.