Sample Robi Run
Alg-3-A
#<OUTPUT BUFFERED FILE-STREAM CHARACTER #P"run1" @1>
[2]> (load "l.cl")
;; Loading file l.cl ...
;; Loading file envt.cl ...
;; Loading of file envt.cl is finished.
;; Loading file robi.cl ...
;; Loading of file robi.cl is finished.
;; Loading of file l.cl is finished.
T
[3]> (setf world (run))
((5 (1 6 9 NIL)) (1 (NIL 2 5 NIL)) (6 (2 NIL NIL 5)) (2 (NIL 3 6 1))
(9 (5 10 11 NIL)) (11 (9 12 NIL NIL)) (10 (7 NIL 12 9)) (12 (10 13 NIL 11))
(7 (3 8 10 NIL)) (13 (8 NIL NIL 12)) (3 (NIL 4 7 2)) (8 (4 NIL 13 7))
(4 (NIL NIL 8 3)))
[4]> world
((5 (1 6 9 NIL)) (1 (NIL 2 5 NIL)) (6 (2 NIL NIL 5)) (2 (NIL 3 6 1))
(9 (5 10 11 NIL)) (11 (9 12 NIL NIL)) (10 (7 NIL 12 9)) (12 (10 13 NIL 11))
(7 (3 8 10 NIL)) (13 (8 NIL NIL 12)) (3 (NIL 4 7 2)) (8 (4 NIL 13 7))
(4 (NIL NIL 8 3)))
[5]> *envt*
((1 (NIL 2 5 NIL)) (2 (NIL 3 6 1)) (3 (NIL 4 7 2)) (4 (NIL NIL 8 3))
(5 (1 6 9 NIL)) (6 (2 NIL NIL 5)) (7 (3 8 10 NIL)) (8 (4 NIL 13 7))
(9 (5 10 11 NIL)) (10 (7 NIL 12 9)) (11 (9 12 NIL NIL)) (12 (10 13 NIL 11))
(13 (8 NIL NIL 12)))
[6]> (setf ordered-world (sort world :test #'firsteq))
*** - EVAL/APPLY: keyword arguments for #<SYSTEM-FUNCTION SORT> should occur pairwise
1. Break [7]> :a
[8]> (defun first< (x y)(< (first x)(first y)))
FIRST<
[9]> (setf ordered-world (sort world #'first<))
((1 (NIL 2 5 NIL)) (2 (NIL 3 6 1)) (3 (NIL 4 7 2)) (4 (NIL NIL 8 3))
(5 (1 6 9 NIL)) (6 (2 NIL NIL 5)) (7 (3 8 10 NIL)) (8 (4 NIL 13 7))
(9 (5 10 11 NIL)) (10 (7 NIL 12 9)) (11 (9 12 NIL NIL)) (12 (10 13 NIL 11))
(13 (8 NIL NIL 12)))
[10]> (equal ordered-world *envt*)
T
[11]> (dribble)