- Notifications
You must be signed in to change notification settings - Fork125
A logic programming library for Clojure & ClojureScript
License
clojure/core.logic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A logic programming library for Clojure & ClojureScript. core.logicoffers Prolog-like relational programming, constraint logicprogramming, and nominal logic programming for Clojure. At its heartis an original implementation of miniKanren as described in WilliamByrd's dissertationRelational Programming in miniKanren: Techniques, Applications, and Implementationsas well as the extensions described incKanren andαKanren. Itis designed to be easily extended to forms of logic programming beyondthe ones provided.
This project follows the version scheme MAJOR.MINOR.PATCH where each component provides some relative indication of the size of the change, but does not follow semantic versioning. In general, all changes endeavor to be non-breaking (by moving to new names rather than by breaking existing names).
Latest stable release: 1.1.0
CLI/deps.edn
dependency information:
org.clojure/core.logic {:mvn/version"1.1.0"}
Leiningen dependency information:
[org.clojure/core.logic "1.1.0"]
Maven dependency information:
<dependency> <groupId>org.clojure</groupId> <artifactId>core.logic</artifactId> <version>1.1.0</version></dependency>
(use 'clojure.core.logic)(run* [q] (== qtrue));;=> (true)
Assuming you have V8 installed from source:
lein cljsbuild once advd8 resources/tests.js
If you have another JS engine installed use that instead.
If you wish to work throughThe Reasoned Schemer withcore.logic make sure to look overthisfirst.
If you're interested in using core.logic fromClojureScript lookhere.
For more information & documentation please consult thewiki.
core.unify provides a la carteunification facilities that are not deeply tied into the operation ofa logic engine. While core.logic does provide a similar simple unifierinterface with support for specifying fine-grained constraints, if youhave no need for a logic programming system, core.unify may be abetter fit.
YourKit has given an open source license for their profiler, greatlysimplifying the profiling of core.logic performance.
YourKit supports open source projects with its full-featured JavaProfiler. YourKit, LLC is the creator ofYourKit JavaProfiler andYourKit .NETProfiler, innovative and intelligent tools for profiling Java and.NET applications.
Copyright © David Nolen, Rich Hickey & contributors.
Licensed under the EPL (see the file epl.html).
About
A logic programming library for Clojure & ClojureScript
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.