about summary refs log tree commit diff stats
path: root/apps/tile/main.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-10-10 21:22:00 -0700
committerKartik Agaram <vc@akkartik.com>2020-10-10 21:22:00 -0700
commitae6340f2254d22fcbb05ac9a18b00341886fd341 (patch)
treeb9839289c414e00a016c0e95dc5fd191fcc47554 /apps/tile/main.mu
parent831a133a4b15dfaf81318b848b0cabb7c7c91e98 (diff)
downloadmu-ae6340f2254d22fcbb05ac9a18b00341886fd341.tar.gz
6991 - tile: nested calls now expanding
I just needed to remove an obsolete guardrail in render-line.

Still seeing some bugs with left-arrow when playing around with the full
expansion of `1 2+`.
Diffstat (limited to 'apps/tile/main.mu')
-rw-r--r--apps/tile/main.mu247
1 files changed, 10 insertions, 237 deletions
diff --git a/apps/tile/main.mu b/apps/tile/main.mu
index 2f559918..2336b37b 100644
--- a/apps/tile/main.mu
+++ b/apps/tile/main.mu
@@ -81,114 +81,18 @@ fn test {
   process env, g
   g <- copy 0x32  # '2'
   process env, g
-  g <- copy 0x2a  # '*'
+  g <- copy 0x2b  # '+'
   process env, g
   g <- copy 0xa  # <enter>
   process env, g
-  g <- copy 0x20  # space
-  process env, g
-  g <- copy 0x32  # '2'
-  process env, g
-  g <- copy 0x2a  # '*'
-  process env, g
-  g <- copy 0xa  # <enter>
-  process env, g
-  # 12 arrows to return to end of first call
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
   g <- copy 0x445b1b  # left-arrow
   process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
   g <- copy 0x445b1b  # left-arrow
   process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
   g <- copy 0x445b1b  # left-arrow
   process env, g
   {
-    print-string-to-real-screen "==\n"
+    print-string 0, "== before enter\n"
     var functions/ecx: (addr handle function) <- get env, functions
     var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
     var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
@@ -198,7 +102,7 @@ fn test {
     var foo/ecx: (addr call-path-element) <- copy _foo
     var bar/eax: (addr int) <- get foo, index-in-body
     print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
+    print-string 0, "\n"
     cursor-call-path <- get foo, next
     var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
     var foo/ecx: (addr call-path-element) <- copy _foo
@@ -206,127 +110,12 @@ fn test {
     break-if-=
     var bar/eax: (addr int) <- get foo, index-in-body
     print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
+    print-string 0, "\n"
   }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-    cursor-call-path <- get foo, next
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    compare foo, 0
-    break-if-=
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  g <- copy 0x445b1b  # left-arrow
+  g <- copy 0xa  # <enter>
   process env, g
   {
-    print-string-to-real-screen "==\n"
+    print-string 0, "== after enter\n"
     var functions/ecx: (addr handle function) <- get env, functions
     var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
     var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
@@ -336,7 +125,7 @@ fn test {
     var foo/ecx: (addr call-path-element) <- copy _foo
     var bar/eax: (addr int) <- get foo, index-in-body
     print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
+    print-string 0, "\n"
     cursor-call-path <- get foo, next
     var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
     var foo/ecx: (addr call-path-element) <- copy _foo
@@ -344,22 +133,7 @@ fn test {
     break-if-=
     var bar/eax: (addr int) <- get foo, index-in-body
     print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
-  }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
-  {
-    print-string-to-real-screen "==\n"
-    var functions/ecx: (addr handle function) <- get env, functions
-    var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes
-    var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah
-    var sandbox/edi: (addr sandbox) <- copy _sandbox
-    var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path
-    var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
-    var foo/ecx: (addr call-path-element) <- copy _foo
-    var bar/eax: (addr int) <- get foo, index-in-body
-    print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
+    print-string 0, "\n"
     cursor-call-path <- get foo, next
     var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path
     var foo/ecx: (addr call-path-element) <- copy _foo
@@ -367,10 +141,9 @@ fn test {
     break-if-=
     var bar/eax: (addr int) <- get foo, index-in-body
     print-int32-hex 0, *bar
-    print-string-to-real-screen "\n"
+    print-string 0, "\n"
   }
-  g <- copy 0x445b1b  # left-arrow
-  process env, g
+  print-string 0, "== render\n"
   render env
 }