docs/03-reference.markdown @ f57121ef4229

Implement a rudimentary heap for the WAM, part 0
author Steve Losh <steve@stevelosh.com>
date Thu, 24 Mar 2016 18:51:08 +0000
parents 9d90efbd8787
children dfba7d90a8a5
# API Reference

The following is a list of all user-facing parts of Bones.

If there are backwards-incompatible changes to anything listed here, they will
be noted in the changelog and the author will feel bad.

Anything not listed here is subject to change at any time with no warning, so
don't touch it.

[TOC]

## Package BONES.PAIP

Test?

### \*CHECK-OCCURS\* (variable)

Whether to perform an occurs check.

### BOUND-P (function)

    (BOUND-P VAR)

Return whether the given variable has been bound.

### CLEAR-DB (function)

    (CLEAR-DB)

### FACT (macro)

    (FACT &REST BODY)

### FAIL (variable)

Failure to unify

### NO-BINDINGS (variable)

A succesful unification, with no bindings.

### QUERY (macro)

    (QUERY &REST GOALS)

Perform the query interactively.

### QUERY-ALL (macro)

    (QUERY-ALL &REST GOALS)

Perform the query and automatically show all results.

### QUERY-ONE (macro)

    (QUERY-ONE &REST GOALS)

Perform the query and just show the first result.

### RETURN-ALL (macro)

    (RETURN-ALL &REST GOALS)

### RETURN-ONE (macro)

    (RETURN-ONE &REST GOALS)

### RULE (macro)

    (RULE &REST CLAUSE)

### UNBOUND (variable)

A magic constant representing an unbound variable.

### UNIFY (function)

    (UNIFY X Y &OPTIONAL (BINDINGS NO-BINDINGS))

Unify the two terms and return bindings necessary to do so (or FAIL).

### UNIFY! (function)

    (UNIFY! X Y)

Destructively unify two expressions, returning whether it was successful.

  Any variables in `x` and `y` may have their bindings set.