summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud@pankzsoft.com>2025-12-08 11:01:00 +0100
committerArnaud Bailly <arnaud@pankzsoft.com>2025-12-08 11:01:00 +0100
commite88fae1aa94743b0596a60b9ff3798753c1027c0 (patch)
tree36b8268f3b7034068b583705f802fa0ccb9266e7
parent13f2a4f28adc88ee82aa42b9d21ad457d27c2dbc (diff)
downloadlambda-nantes-e88fae1aa94743b0596a60b9ff3798753c1027c0.tar.gz
added prolog directory
-rw-r--r--.gitignore2
-rw-r--r--prolog/README.md19
2 files changed, 21 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 1972246..55a082b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,5 @@
.lsp
node_modules/
*.ts#
+\#*
+.\#*
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)