about summary refs log tree commit diff stats
path: root/chessboard-retro.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-01-15 00:00:46 -0800
committerKartik K. Agaram <vc@akkartik.com>2015-01-15 00:00:46 -0800
commit0d2c3387c59b039ce2dc58ad4545feb04ddc4de4 (patch)
tree8f87ddd5b5590656e95ea99b27e5132672e4d525 /chessboard-retro.mu
parentec6364a0343315c14dfd1b926991b5ccdd1d7542 (diff)
downloadmu-0d2c3387c59b039ce2dc58ad4545feb04ddc4de4.tar.gz
571 - screen primitives take an explicit terminal
This will let me swap in a fake in tests.

Still hacky, though. I'm sure I'm not managing the parameter right in
the chessboard app.

And then there's the question of whether it should also appear as an
output operand.

But it's a start. And using nil to mean 'real' is a reasonable
convention.

If I ever need to handle multiple screens perhaps we'll have to switch
to 1:literal/terminal and 2:literal/terminal, etc. But those are equally
easy to guard on.
Diffstat (limited to 'chessboard-retro.mu')
-rw-r--r--chessboard-retro.mu12
1 files changed, 6 insertions, 6 deletions
diff --git a/chessboard-retro.mu b/chessboard-retro.mu
index e9fbd101..9a04c1b8 100644
--- a/chessboard-retro.mu
+++ b/chessboard-retro.mu
@@ -18,7 +18,7 @@
                                               N:literal P:literal _:literal _:literal _:literal _:literal p:literal n:literal
                                               R:literal P:literal _:literal _:literal _:literal _:literal p:literal r:literal)
   ; assert(length(initial-position) == 64)
-;?   (print-primitive (("list-length\n" literal)))
+;?   (print-primitive nil:literal/terminal (("list-length\n" literal)))
   (len:integer <- list-length initial-position:list-address)
   (correct-length?:boolean <- equal len:integer 64:literal)
   (assert correct-length?:boolean "chessboard had incorrect size")
@@ -28,8 +28,8 @@
   { begin
     (done?:boolean <- equal col:integer 8:literal)
     (break-if done?:boolean)
-;?     (print-primitive col:integer)
-;?     (print-primitive (("\n" literal)))
+;?     (print-primitive nil:literal/terminal col:integer)
+;?     (print-primitive nil:literal/terminal (("\n" literal)))
     (file:file-address-address <- index-address b:board-address/deref col:integer)
     (file:file-address-address/deref curr:list-address <- read-file curr:list-address)
     (col:integer <- add col:integer 1:literal)
@@ -74,12 +74,12 @@
       (break-if done?:boolean)
       (f:file-address <- index b:board-address/deref col:integer)
       (s:square <- index f:file-address/deref row:integer)
-      (print-primitive s:square)
-      (print-primitive ((" " literal)))
+      (print-primitive nil:literal/terminal s:square)
+      (print-primitive nil:literal/terminal ((" " literal)))
       (col:integer <- add col:integer 1:literal)
       (loop)
     }
-    (print-primitive (("\n" literal)))
+    (print-primitive nil:literal/terminal (("\n" literal)))
     (row:integer <- subtract row:integer 1:literal)
     (loop)
   }