Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

hypoKanren

An implementation of microKanren with constraints in Hy.

Currently, this project serves as a staging ground for a possible large-scale refactoring of the main miniKanren-in-Hy project, loghyc (soon to be formerly known as adderall).

Design

Efforts to better utilize Python and Hy features within this implementation are ongoing, but—to start—the stream processing and delayed goal evaluation are, naturally, implemented with Python generators, and some uses of association lists have been replaced by immutable dictionaries (via pyrsistent) and/or custom classes.

Outside of the miniKanren DSL, this project attempts to share some of the internal API (e.g. stream and utility function names and signatures) with the published implementations.

Features

  • Standard microKanren with some basic miniKanren goals (e.g. run, fresh, conde)
  • Constraints (e.g. =/=, absento, symbolo)

About

A microKanren implementation in Hy with constraints

Topics

Resources

Releases

No releases published

Packages

No packages published