From 0d2c3387c59b039ce2dc58ad4545feb04ddc4de4 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Thu, 15 Jan 2015 00:00:46 -0800 Subject: 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. --- chessboard-retro.mu | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'chessboard-retro.mu') 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) } -- cgit 1.4.1-2-gfad0