about summary refs log tree commit diff stats
path: root/tangle.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-01-02 18:13:04 -0800
committerKartik K. Agaram <vc@akkartik.com>2015-01-02 18:20:18 -0800
commitd1c12218229989dc9a6e15b0190ae0ca05ecb20f (patch)
tree639797bac7cd33b315d599edb696309483ee25e0 /tangle.mu
parentd99607231dd767df599478bb0bbc68d0a3483d1a (diff)
downloadmu-d1c12218229989dc9a6e15b0190ae0ca05ecb20f.tar.gz
497 - strengthen the concept of 'space'
'default-scope' is now 'default-space'
'closure-generator' is now 'next-space-generator'
The connection to high-level syntax for closures is now tenuous, so
we'll call the 'outer scope' the 'next space'.

So, let's try to create a few sentences with all these related ideas:

  Names map to addresses offset from a default-space when it's provided.

  Spaces can be strung together. The zeroth variable points to the next
  space, the one that is accessed when a variable has /space:1.

  To map a name to an address in the next space, you need to know what
  function generated that space. A corollary is that the space passed in
  to a function should always be generated by a single function.

Spaces can be used to construct lexical scopes and objects.
Diffstat (limited to 'tangle.mu')
-rw-r--r--tangle.mu2
1 files changed, 1 insertions, 1 deletions
diff --git a/tangle.mu b/tangle.mu
index 7580c328..b975fd2a 100644
--- a/tangle.mu
+++ b/tangle.mu
@@ -4,7 +4,7 @@
 ; possibilities.
 
 (function factorial [
-  (default-scope:scope-address <- new scope:literal 30:literal)
+  (default-space:space-address <- new space:literal 30:literal)
   (n:integer <- next-input)
   { begin
     base-case