altos/test: Update to build altos lisp test app
authorKeith Packard <keithp@keithp.com>
Mon, 20 Nov 2017 05:07:23 +0000 (21:07 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 20 Nov 2017 05:07:23 +0000 (21:07 -0800)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/test/Makefile
src/test/hanoi.lisp

index 9fe886b9bc48e991497341c7914e238150896764..4ac2c893395922b2bf360759fb7265c556b3d7e3 100644 (file)
@@ -104,7 +104,7 @@ AO_LISP_SRCS=$(LISP_SRCS) ao_lisp_test.c
 AO_LISP_OBJS=$(AO_LISP_SRCS:.c=.o)
 
 ao_lisp_test: $(AO_LISP_OBJS)
 AO_LISP_OBJS=$(AO_LISP_SRCS:.c=.o)
 
 ao_lisp_test: $(AO_LISP_OBJS)
-       cc $(CFLAGS) -o $@ $(AO_LISP_OBJS)
+       cc $(CFLAGS) -o $@ $(AO_LISP_OBJS) -lm
 
 $(AO_LISP_OBJS): $(LISP_HDRS) ao_lisp_const.h
 
 
 $(AO_LISP_OBJS): $(LISP_HDRS) ao_lisp_const.h
 
index e873c796e4718d50f6ee4003af10baaedf6b0800..02e168768cd4894038c65596ba9c21615acfb4af 100644 (file)
@@ -41,7 +41,8 @@
 
 (define towers ())
 
 
 (define towers ())
 
-(define 1- (lambda (x) (- x 1)))
+(define one- (lambda (x) (- x 1)))
+(define one+ (lambda (x) (+ x 1)))
                                        ; Display one tower, clearing any
                                        ; space above it
 
                                        ; Display one tower, clearing any
                                        ; space above it
 
                        (cond ((= 0 clear)
                               (cond ((not (null? tower))
                                      (display-string x y (car tower))
                        (cond ((= 0 clear)
                               (cond ((not (null? tower))
                                      (display-string x y (car tower))
-                                     (display-tower x (1+ y) 0 (cdr tower))
+                                     (display-tower x (one+ y) 0 (cdr tower))
                                      )
                                     )
                               )
                              (else 
                               (display-string x y "                   ")
                                      )
                                     )
                               )
                              (else 
                               (display-string x y "                   ")
-                              (display-tower x (1+ y) (1- clear) tower)
+                              (display-tower x (one+ y) (one- clear) tower)
                               )
                              )
                        )
                               )
                              )
                        )
 
 (define replace (lambda (list pos member)
                  (cond ((= pos 0) (cons member (cdr list)))
 
 (define replace (lambda (list pos member)
                  (cond ((= pos 0) (cons member (cdr list)))
-                       ((cons (car list) (replace (cdr list) (1- pos) member)))
+                       ((cons (car list) (replace (cdr list) (one- pos) member)))
                        )
                  )
   )
                        )
                  )
   )
                       (set! towers (replace towers from from-tower))
                       (set! towers (replace towers to to-tower))
                       (display-hanoi)
                       (set! towers (replace towers from from-tower))
                       (set! towers (replace towers to to-tower))
                       (display-hanoi)
-;                     (delay move-delay)
+                      (delay move-delay)
                       )
                     )
   )
                       )
                     )
   )
                        (move-piece from to)
                        )
                       (else
                        (move-piece from to)
                        )
                       (else
-                       (_hanoi (1- n) from use to)
+                       (_hanoi (one- n) from use to)
                        (_hanoi 1 from to use)
                        (_hanoi 1 from to use)
-                       (_hanoi (1- n) use to from)
+                       (_hanoi (one- n) use to from)
                        )
                       )
                 )
                        )
                       )
                 )