Skip to content
A TypeScript implementation of MicroKanren
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.npmignore
.travis.yml
LICENSE
README.MD
bower.json
package.json
tsconfig.json

README.MD

Micro Kanren

Coverage Status Build Status Dependency Status npm version

A dependency injection library using TypeScript decorators.

Install

Install with npm.

npm install --save simple-ui_microkanren

Install with bower.

bower install --save simple-ui_microkanren

Setup

The library uses ES6 exports for all decorators and the main DI object. To import the full library into a file you can destructure the export object.

import {  } from 'simple-ui_microkanren';

Terminology

Term Meaning
Logical Variable The identifier of a logic variable; used to track the results of logic operations.
Substitution A dictionary of variable-term bindings.
State A state encapsulates the substitution s, which encompasses current variable-term bindings
Stream A potentially infinite sequence of states.
Goal A goal to be pursued within the received state. A successful goal returns a non-empty stream, containing the states which satisfied it.

Stream

A stream may be:

  1. empty
  2. mature or answer-bearing when the head is a state that has already been computed
  3. immature when the head is a thunk containing a delayed computation

Future Enhancements

A list of future enhancements.

You can’t perform that action at this time.