anchor.diff:  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
   
  -;;SBCL Installation
  -;;install and wipe away the junk
  +; Assumes *.kl files are in the current directory
  +; Assumes ./Native directory exists
  +; Creates *.native files in the ./Native directory
  +; Deletes *.kl files
  +; Creates shen.mem file
  +; Creates and deletes *.fasl and *.intermed files over the course of running
   
   (PROCLAIM '(OPTIMIZE (DEBUG 0) (SPEED 3) (SAFETY 3)))
   (DECLAIM (SB-EXT:MUFFLE-CONDITIONS SB-EXT:COMPILER-NOTE))
  
positive.code: 
  (DEFUN boot (File)
    (LET* ((SourceCode (openfile File))
           (ObjectCode (MAPCAR
                         (FUNCTION (LAMBDA (X) (shen.kl-to-lisp NIL X))) SourceCode)))
          (HANDLER-CASE (DELETE-FILE (FORMAT NIL "~A.lsp" File))
            (ERROR (E) NIL))
          (writefile (FORMAT NIL "~A.lsp" File) ObjectCode)))
  
  (DEFUN writefile (File Out)
      (WITH-OPEN-FILE (OUTSTREAM File
                                 :DIRECTION :OUTPUT
                                 :IF-EXISTS :OVERWRITE
                                 :IF-DOES-NOT-EXIST :CREATE)
      (FORMAT OUTSTREAM "~%")
      (MAPC (FUNCTION (LAMBDA (X) (FORMAT OUTSTREAM "~S~%~%" X))) Out)
    File))
  
  (DEFUN openfile (File)
   (WITH-OPEN-FILE (In File :DIRECTION :INPUT)
     (DO ((R T) (Rs NIL))
        ((NULL R) (NREVERSE (CDR Rs)))
         (SETQ R (READ In NIL NIL))
         (PUSH R Rs))))
  
  (DEFUN sbcl-install (File)
    (LET* ((Read (read-in-kl File))
           (Intermediate (FORMAT NIL "~A.intermed" File))
           (Write (write-out-kl Intermediate Read)))
          (boot Intermediate)
          (COMPILE-FILE (FORMAT NIL "~A.lsp" Intermediate))
     	(LOAD (FORMAT NIL "~A.fasl" Intermediate))
          (DELETE-FILE Intermediate)
  	(move-file (FORMAT NIL "~A.lsp" Intermediate))
  	(DELETE-FILE (FORMAT NIL "~A.fasl" Intermediate))
        (DELETE-FILE File)  ))
  
  (DEFUN move-file (Lisp)
    (LET ((Rename (native-name Lisp)))
         (IF (PROBE-FILE Rename) (DELETE-FILE Rename))
         (RENAME-FILE Lisp Rename)))
  
  (DEFUN native-name (Lisp)
     (FORMAT NIL "Native/~{~C~}.native"
  
negative.code: 
  (MAPC 'FMAKUNBOUND '(boot writefile openfile))
  
  (SAVE-LISP-AND-DIE
    (IF (FIND :WIN32 *FEATURES*) "shen.exe" "shen")
    :EXECUTABLE T
    :SAVE-RUNTIME-OPTIONS T
    :TOPLEVEL 'SHEN-TOPLEVEL)
  