aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2026-01-24 01:11:17 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2026-01-24 01:11:17 +1300
commit7b201fc0587e8012189f7b1f245734e117e4975c (patch)
tree8201d7ccea0d6cf4a809614e8e7b4c818f3af79b /readme.md
parent28d132c2823d7dfa21190bf746f9f39dd59a40d8 (diff)
Unrolled linked lists for StateHEADmaster
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md13
1 files changed, 7 insertions, 6 deletions
diff --git a/readme.md b/readme.md
index 089ffee..9a47632 100644
--- a/readme.md
+++ b/readme.md
@@ -90,12 +90,13 @@ instead.
All the Goal operations beyond the microKanren four take an array of Terms as
input in order to allow for Conjunct to be reasonably implemented.
-The State datatype makes use of custom linked lists, and the bookkeeping data
-in the Collector package uses a custom directed acyclic graph structure that
-reflects the main Goal graph. This is done instead of using Vectors or Maps
-from the standard library both to improve speed and reduce memory requirements.
-The improvement due to tail sharing is considerable, despite the theoretically
-expensive operations involved walking the list to reify a variable.
+The State datatype makes use of custom unrolled linked lists, and the
+bookkeeping data in the Collector package uses a custom directed acyclic graph
+structure that reflects the main Goal graph. This is done instead of using
+Vectors or Maps from the standard library both to improve speed and reduce
+memory requirements. The improvement due to tail sharing is considerable,
+despite the theoretically expensive operations involved in walking the list to
+reify a variable.