summaryrefslogtreecommitdiff
path: root/prolog
diff options
context:
space:
mode:
Diffstat (limited to 'prolog')
-rw-r--r--prolog/README.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/prolog/README.md b/prolog/README.md
new file mode 100644
index 0000000..d9d6ca0
--- /dev/null
+++ b/prolog/README.md
@@ -0,0 +1,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)