Skip to content

stjordanis/clpsmt-miniKanren

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLP(SMT)-miniKanren

Canonical miniKanren implementation, augmented with CLP(SMT).

Added SMT hooks: z/assert takes a boolean arithmetic expression with variables (integer by default), z/ takes an SMT statement, z/purge manually purges the SMT constraints into an enumeration of models, z/check only fails if the constraints are unsatisfiable.

Background on miniKanren

Starts with the language described in the paper:

William E. Byrd, Eric Holk, and Daniel P. Friedman. miniKanren, Live and Untagged: Quine Generation via Relational Interpreters (Programming Pearl). To appear in the Proceedings of the 2012 Workshop on Scheme and Functional Programming, Copenhagen, Denmark, 2012.

CORE LANGUAGE

Logical operators:

== fresh conde

Interface operators:

run run*

EXTENDED LANGUAGE

Constraint operators:

=/= symbolo numbero absento

About

CLP(SMT) on top of miniKanren

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scheme 90.5%
  • Racket 8.5%
  • Other 1.0%