#!/home/snuc/openlisp-10.9.0/uxlisp -shell ;;; Not sure yet if it's a good idea or not, ;;; but I'm trying to keep the number of top-level functions the same as in OCaml. (defun one-command (st) (with-handler #'error-handler (let ((l parse (read-line))) (case (car l) ((line) (insert (cadr c))) ((p-end) (throw 'end nil)))))) ; throw and conditions are orthogonal (defclass () ((prog :accessor prog) (env :accessor env))) (defmethod initialize-object :after ((self ) initargs) (setf (prog self) nil) (setf (env self) nil)) (defun main () (catch 'end (lambda () (format (standard-output) "OpenCOMAL version 0.4~%~%") (for ((st (create (class )))) (()) (format (standard-output) "> ") (catch 'error (one-command st))))) (format (standard-output) "See you later...~%"))