anchor.diff:  
   (defmacro FALSE-encapsulate (&rest args) `(progn (F-space) ,@args (F-nilcull)))
   
  +(defun FALSE-fun (ch) (cond
  +			((equal ch #\') (setf *FALSE-char-mode* t) nil)
  +			(*FALSE-char-mode* (setf *FALSE-char-mode* nil)
  +					   `(F-push (char-int ,ch)))
  +			((equal ch #\[) (setf *FALSE-current-lambda* nil)
  +					(setf *FALSE-lambda-mode* t) nil)
  +			((equal ch #\]) 
  +			 (setf *FALSE-lambda-mode* nil)
  +			 `(F-push (lambda ()
  +				    (eval (FALSE-encapsulate
  +					     ,@(remove-if #'null (mapcar #'FALSE-fun *FALSE-current-lambda*)))))))
  +			(*FALSE-lambda-mode* (setf *FALSE-current-lambda*
  +						   `(,@*FALSE-current-lambda* ,ch)) nil)
  +			(t (let ((fun (assoc ch *FALSE-dictionary*)))
  +			     (if fun
  +			       `(progn (F-nilcull) (funcall ,(cadr fun)) (F-space))
  +			       `(funcall #'F-integer ,ch))))))
  +
   (defmacro FALSE-parse (arg-string)
  -  (labels ((FALSE-fun (ch) (cond
  -			     ((equal ch #\') (setf *FALSE-char-mode* t) nil)
  -			     (*FALSE-char-mode* (setf *FALSE-char-mode* nil)
  -						`(F-push (char-int ,ch)))
  -			     ((equal ch #\[) (setf *FALSE-current-lambda* nil)
  -					     (setf *FALSE-lambda-mode* t) nil)
  -			     ((equal ch #\]) 
  -			      (setf *FALSE-lambda-mode* nil)
  -			      `(F-push ,(lambda ()
  -					  (eval `(FALSE-encapsulate
  -						   ,@(remove-if #'null (mapcar #'FALSE-fun *FALSE-current-lambda*)))))))
  -			     (*FALSE-lambda-mode* (setf *FALSE-current-lambda*
  -							`(,@*FALSE-current-lambda* ,ch)) nil)
  -			     (t (let ((fun (assoc ch *FALSE-dictionary*)))
  -				  (if fun
  -				    `(progn (F-nilcull) (funcall ,(cadr fun)) (F-space))
  -				    `(funcall #'F-integer ,ch)))))))
  -    `(progn (F-space) ,@(remove-if #'null (mapcar #'FALSE-fun (coerce arg-string 'list)))
  -	    (F-nilcull) *FALSE-stack*)))
  +  `(FALSE-encapsulate ,@(remove-if #'null (mapcar #'FALSE-fun (coerce arg-string 'list)))))
  +
  +(defun FALSE-REPL ()
  +  (F-reset)
  +  (format t "Enter an empty line to quit.~%CL-FALSE> ")
  +  (finish-output)
  +  (loop for input = (read-line)
  +	until (equalp input "")
  +	do (eval `(FALSE-parse ,input))
  +	do (format t "~{~A ~}~%~%CL-FALSE> " *FALSE-stack*)
  +	do (finish-output)))
  +
  +(FALSE-REPL)
  
positive.code: (defun F-pick () (F-push (nth (F-pop) *FALSE-stack*)))
  (defun F-exec () (funcall (F-pop)) *FALSE-stack*)
  (defun F-cond () (F-swap) (if (not (= (F-pop) 0)) (funcall (F-pop)) (F-pop)) *FALSE-stack*)
  (defun F-while () (let ((fun (F-pop)) (con (F-pop)))
    (loop with c = -1
  	until (= c 0)
  	do (progn (push con *FALSE-stack*) (F-exec))
  	(setf c (car *FALSE-stack*))
  	do (progn (push fun *FALSE-stack*) (F-cond)))))
  ;;; Test: 1[$100\>][1+]# should leave 100 on the stack
  
  (defun F+ () (FALSE-arithmetic #'+))
  (defun F- () (FALSE-arithmetic #'-))
  
negative.code:     ))
  
  ;;; to-do:
  ;;;	Variables:		a-z : ;
  ;;;	I/O:			^ , " . eszett
  ;;;	Comments:		{ }
  