anchor.diff:    (llvm:with-objects ((*builder* llvm:builder)
                         (*module* llvm:module output-filename))
       (let ((*env* nil)
  -          (*current-file* input-filename)
  +          (*current-file*
  +            (pathname (pathname
  +                        (if (char= (elt input-filename 0) #\/)
  +                          input-filename
  +                          (concatenate 'string
  +                                       (namestring *default-pathname-defaults*)
  +                                       input-filename)))))
             (*lambda-counter* 0))
         (compile-prelude)
         (dolist (form (mappend #'process-toplevel-form
  
positive.code: (defun compile-prelude ()
    (map nil #'compile-toplevel-form
         (mappend #'process-toplevel-form
                  '((|defvar| |$status-code|)
                    ;; TODO: this should locate the standard library rather than
                    ;; assuming we're sitting next to it
                    (|include| "../stdlib/lib")))))
  
  (defun process-toplevel-form (form)
    (ecase (car form)
  
negative.code: (defun lookup-included-filename (includee)
    ;; Later we could have some predefined include paths or something.
    ;; For now it's just relative to the including file
    (unless (null includee)
      (let* ((path (namestring
                     (merge-pathnames
                       includee (make-pathname
                                  :directory (pathname-directory *current-file*)))))
             (extension (search ".nuc" path)))
        (if extension
          path
          (concatenate 'string path ".nuc")))))
  
  (defun compile-expr (expr)
    (etypecase expr
  