Skip to content

Little简Kanren - A Modern typed miniKanren dialect in Scala3

License

Notifications You must be signed in to change notification settings

mio-19/LittleJianCH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

LittleJianCH - 小简Kanren

This miniKanren implementation contains a typed dsl in scala3.

VarOr[T] is required to use in data structures defined for relational programming. It is defined as Var[T] | T, where Var[T] is a class representing a miniKanren variable.

The Unify type class needed to be implemented for a == b and a =/= b usages. The Inspect type class needed to be implemented for a.absent(b) usages. Both type classes support derive.

Several search strategies are implemented in the littlejian.search packages.

Examples for data stuctures can be found in littlejian/src/main/scala/littlejian/data. Program examples can be found in littlejian/src/main/scala/littlejian/examples, some of which are incompleted.

image

About

Little简Kanren - A Modern typed miniKanren dialect in Scala3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages