;;; Lisp world from scratch. This code has to define enough language
;;; to the compiler to be able to run.
+(/debug "loading boot.lisp!")
+
(eval-when-compile
(let ((defmacro-macroexpander
'#'(lambda (form)
(cond
,@(mapcar (lambda (c)
(if (eq (car c) t)
- `((t ,@(rest c)))
+ `(t ,@(rest c))
`((,(ecase (car c)
(integer 'integerp)
(cons 'consp)
(defun error (fmt &rest args)
(%throw (apply #'format nil fmt args)))
+
+(defmacro nth-value (n form)
+ `(multiple-value-call (lambda (&rest values)
+ (nth ,n values))
+ ,form))