altos/lisp: Take advantage of implicit progns in hanoi demo
authorKeith Packard <keithp@keithp.com>
Fri, 18 Nov 2016 02:45:31 +0000 (18:45 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 20 Feb 2017 19:16:52 +0000 (11:16 -0800)
Remove extra progn wrappers now that cond, lambda and while all
support implicit ones.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/test/hanoi.lisp

index d8ff2c86583220d3efbef3bc8856e87942cc50b2..b5f2d0f5b3099ff639898a8870f576f028c17904 100644 (file)
 
 (defun display-stack (x y clear stack)
   (cond ((= 0 clear)
-        (cond (stack (progn
-                       (display-string x y (car stack))
-                       (display-stack x (1+ y) 0 (cdr stack))
-                       )
-                     )
+        (cond (stack 
+               (display-string x y (car stack))
+               (display-stack x (1+ y) 0 (cdr stack))
+               )
               )
         )
-       (t (progn
-            (display-string x y "                    ")
-            (display-stack x (1+ y) (1- clear) stack)
-            )
-          )
+       (t 
+        (display-string x y "                   ")
+        (display-stack x (1+ y) (1- clear) stack)
+        )
        )
   )
 
                                        ; Display all of the stacks, spaced 20 columns apart
 
 (defun display-stacks (x y stacks)
-  (cond (stacks (progn
-                 (display-stack x 0 (stack-pos y (car stacks)) (car stacks))
-                 (display-stacks (+ x 20) y (cdr stacks)))
-               )
+  (cond (stacks
+        (display-stack x 0 (stack-pos y (car stacks)) (car stacks))
+        (display-stacks (+ x 20) y (cdr stacks)))
        )
   )
 
 
 (defun _hanoi (n from to use)
   (cond ((= 1 n)
-        (progn
-         (move-piece from to)
-         nil)
+        (move-piece from to)
         )
        (t
-        (progn
-         (_hanoi (1- n) from use to)
-         (_hanoi 1 from to use)
-         (_hanoi (1- n) use to from)
-         )
+        (_hanoi (1- n) from use to)
+        (_hanoi 1 from to use)
+        (_hanoi (1- n) use to from)
         )
        )
   )
   (setq len (reset-stacks))
   (clear)
   (_hanoi len 0 1 2)
-  )
-
-                                       ; Run many in a row to time them
-
-(defun hanois(n)
-  (cond ((> n 0)
-        (progn
-          (hanoi)
-          (hanois (1- n))
-          )
-        )
-       )
+  (move-to 0 23)
   )