about summary refs log tree commit diff stats
path: root/apps/mu.subx
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-06-20 15:49:20 -0700
committerKartik Agaram <vc@akkartik.com>2020-06-20 15:50:57 -0700
commitc94b8c37979f768e5f9dd138215c06bd6910ab28 (patch)
treef0f17c97a7ca72341a377c193019c36e5c34b1f0 /apps/mu.subx
parent4f16cfa166575b5b943f2982e80a800868fa49d8 (diff)
downloadmu-c94b8c37979f768e5f9dd138215c06bd6910ab28.tar.gz
6560
Diffstat (limited to 'apps/mu.subx')
-rw-r--r--apps/mu.subx13
1 files changed, 3 insertions, 10 deletions
diff --git a/apps/mu.subx b/apps/mu.subx
index 115656f7..32c9e452 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -78,13 +78,7 @@
 #
 # Still todo:
 #   global variables
-#   heap allocations (planned name: 'handle')
-#   user-defined types: 'type' for structs, 'choice' for unions
-#   short-lived 'address' type for efficiently writing inside nested structs
-#
-# We don't have 'handle' types yet, but we try to distinguish 'ref', 'handle'
-# and 'address' in comments. Their definitions are in layer 50, but really you
-# can ignore the distinctions on a first reading of this program.
+#   union types
 #
 # Formal types:
 #   A program is a linked list of functions
@@ -168,15 +162,14 @@
 #
 # out1, out2, out3, ... <- name inout1, inout2, inout3, ...
 # =>
-# (subx-name inout1 inout2 inout3)
+# (name inout1 inout2 inout3)
 #
 # Formal types:
 #   functions: linked list of info
 #     name: (handle array byte)
 #     inouts: linked list of vars
 #     outputs: linked list of vars
-#     body: block (singleton linked list)
-#     subx-name: (handle array byte)
+#     body: block (linked list of statements)
 
 # == Translating a single primitive instruction
 # A second crucial piece of the puzzle is how Mu converts fairly regular