Transferred all documentation from the Wiki(s) to the /docs directory; not all links

yet fixed up.
This commit is contained in:
Simon Brooke 2025-07-06 09:43:38 +01:00
parent 34ef8cd4c1
commit cc534255b5
26 changed files with 1582 additions and 49 deletions

9
docs/Paths.md Normal file
View file

@ -0,0 +1,9 @@
# Paths
*See also [[How do we notate paths?]], which in part supercedes this.*
A path is essentially a list of keywords.
However, the path `(:aardvark :beluga :coeleocanth :dodo)` may be denoted `:aardvark:beluga:coeleocanth:dodo` and will be expanded into a list by the reader. If the value of `:ardvark` in the current environment is a map, and the value of `:beluga` in that map is a map, and the value of `:coeleocanth` in that map is a map, then the value of the path `:aardvark:beluga:coeleocanth:dodo` is whatever the value of `:dodo` is in the map indicated by `:aardvark:beluga:coeleocanth`; however if the path cannot be fully satisfied the value is `nil`.
The notation `::aardvark:beluga:coeleocanth:dodo` is expanded by the reader into `((oblist) :aardvark :beluga :coeleocanth :dodo)`, or, in other words, is a path from the root namespace.