summaryrefslogtreecommitdiff
path: root/prolog/README.md
blob: d9d6ca064a1ebf73cbd510d7d5a50de3921c0d37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Implementing Prolog

## Basics

* terms:
  * variables start with upper casae: `X`, `Y`...
  * symbols start with lower case: `s`, `z`, `child`, ...
  * symbols have arity 0 or more : `bob`, `child(X, Y)`, `father(bob, Z)`...
* clauses:
  * _head_: a single term
  * _premises_: a (possibly empty) list of terms
* a _data set_ is a list of clauses
* _queries_ are

## References

* [NanoProlog](https://github.com/norm2782/NanoProlog)
* [hslogic](https://github.com/abailly/hslogic)
* [miniprolog](https://github.com/andrejbauer/plzoo/tree/master/src/miniprolog)