#K(#(77 0 1 1 0 0 25 1 0 1 1) #(0) #((PROGN #K(#(77 0 1 2 0 1 2 38 2 3 38 3 4 23 4 3 4 3 4 2 1 49 5 3 0 57 0) #(0) #(NIL (X Y XV YV MASS NAME CAPTAIN REGISTRY) CLASS :NEW SEND SHIP) 0 NIL) #K(#(77 0 1 1 0 2 38 0 2 38 1 3 25 2 0 3 2 3 1) #(0) #(SHIP :SET-PNAME SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((X) NIL SHIP :ANSWER :X SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((Y) NIL SHIP :ANSWER :Y SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((XV) NIL SHIP :ANSWER :XV SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((YV) NIL SHIP :ANSWER :YV SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((MASS) NIL SHIP :ANSWER :MASS SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((NAME) NIL SHIP :ANSWER :NAME SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((CAPTAIN) NIL SHIP :ANSWER :CAPTAIN SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #((REGISTRY) NIL SHIP :ANSWER :REGISTRY SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #(((CASE #0=#:MAIN12961298 (:X (SETQ X #1=#:MAIN12961299)) (:Y (SETQ Y #1#)) (:XV (SETQ XV #1#)) (:YV (SETQ YV #1#)) (:MASS (SETQ MASS #1#)) (:NAME (SETQ NAME #1#)) (:CAPTAIN (SETQ CAPTAIN #1#)) (:REGISTRY (SETQ REGISTRY #1#)) (T (SEND-SUPER :SET-IVAR #0# #1#)))) (#0# #1#) SHIP :ANSWER :SET-IVAR SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #(((SETF (SEND SELF :X) X) (SETF (SEND SELF :Y) Y) (SETF (SEND SELF :XV) XV) (SETF (SEND SELF :YV) YV) (SETF (SEND SELF :MASS) MASS) (SETF (SEND SELF :NAME) NAME) (SETF (SEND SELF :CAPTAIN) CAPTAIN) (SETF (SEND SELF :REGISTRY) REGISTRY) (APPLY (FUNCTION SEND-SUPER) (CONS (QUOTE :ISNEW) (XLISP::REMOVE-KEYS (QUOTE (:X :Y :XV :YV :MASS :NAME :CAPTAIN :REGISTRY)) #0#))) SELF) (&REST #0# &KEY (X 0) (Y 0) (XV 0) (YV 0) (MASS 0) (NAME (QUOTE UNKNOWN)) (CAPTAIN (QUOTE UNKNOWN)) (REGISTRY (QUOTE UNKNOWN)) &ALLOW-OTHER-KEYS) SHIP :ANSWER :ISNEW SEND) 0 NIL) #K(#(77 0 1 1 0 0 11 0 1) #(0) #(NIL) 0 NIL)) EVAL) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #(((PRINC (LIST "sailing for " TIME " hours ")) (SETF (SEND SELF :X) (+ (SEND SELF :X) (* (SEND SELF :XV) TIME))) (SETQ Y (+ Y (* YV TIME))) "Sailing, sailing, over the bountiful chow mein...") (TIME) SHIP :ANSWER :SAIL SEND) 0 NIL) #K(#(77 0 1 2 0 1 3 38 2 3 38 3 4 38 4 5 25 5 0 5 3 4 5 2 1) #(0) #(((PRINC (LIST "SHIP NAME: " (SEND SELF :NAME) " " "REGISTRY: " (SEND SELF :REGISTRY) " " "CAPTAIN IS: " (SEND SELF :CAPTAIN) " " "MASS IS: " (SEND SELF :MASS) " TONNES " "CURRENT POSITION IS: " (SEND SELF :X) " X BY " (SEND SELF :Y) " Y " "SPEED IS: " (SEND SELF :XV) " XV BY " (SEND SELF :YV) " YV "))) NIL SHIP :ANSWER :PRINT SEND) 0 NIL) #K(#(77 0 1 4 0 1 2 3 6 38 4 5 38 5 6 38 6 7 38 7 8 38 8 9 38 9 10 23 10 5 10 5 6 7 4 8 3 9 2 10 1 49 2 5 0 57 0) #(0) #(BLIGH ENGLAND BOUNTY 50 SHIP :NEW :MASS :NAME :REGISTRY :CAPTAIN SEND) 0 NIL) #K(#(77 0 1 0 2 38 0 1 38 1 2 25 2 0 2 1 2) #(0) #(BOUNTY :PRINT SEND) 0 NIL) #K(#(77 0 1 4 0 1 2 3 6 38 4 5 38 5 6 38 6 7 38 7 8 38 8 9 38 9 10 23 10 5 10 5 6 7 4 8 3 9 2 10 1 49 11 5 0 57 0) #(0) #(2000 1000 TEMPLE 30 SHIP :NEW :MASS :CAPTAIN :X :Y SEND LOLLIPOP) 0 NIL) #K(#(77 0 1 0 2 38 0 1 38 1 2 25 2 0 2 1 2) #(0) #(LOLLIPOP :PRINT SEND) 0 NIL) #K(#(77 0 1 3 0 1 2 5 38 3 4 38 4 5 38 5 6 38 6 7 38 7 8 23 8 4 8 4 5 6 3 7 2 8 1 49 9 4 0 57 0) #(0) #(NORTH-POLE BOZO 1000 SHIP :NEW :MASS :CAPTAIN :REGISTRY SEND HARD) 0 NIL) #K(#(77 0 1 0 2 38 0 1 38 1 2 25 2 0 2 1 2) #(0) #(HARD :PRINT SEND) 0 NIL)