anchor.diff:  
   (DEFUN import-lsp (File)
     (LET ((LspFile (FORMAT NIL "~A.lsp" File))
  -        (ObjFile (FORMAT NIL "~A~A~A" NATIVE-PATH File BINARY-SUFFIX)))
  +        (ObjFile (FORMAT NIL "~A~A~A" NATIVE-PATH File COMPILED-SUFFIX)))
       (COMPILE-FILE LspFile :OUTPUT-FILE ObjFile)
       (LOAD ObjFile)))
   
  
positive.code: ; Assumes *.kl files are in the ./kernel/klambda directory
  ; Creates intermediate code and binaries in a platform-specific sub-directory under ./native/
  
  (DEFCONSTANT NATIVE-PATH
    #+CLISP "./native/clisp/"
    #+CCL   "./native/ccl/"
    #+SBCL  "./native/sbcl/")
  
  (DEFCONSTANT BINARY-SUFFIX
    #+CLISP ".fas"
    #+CCL
      (OR
        #+WINDOWS ".wx64fsl"
        #+LINUX   ".lx64fsl"
                  ".unknown") ; TODO: need a better way to do this
    #+SBCL ".fasl")
  
  #+CLISP (DEFCONSTANT MEM-NAME "shen.mem")
  
  #+CCL (DEFCONSTANT EXECUTABLE-NAME #+WINDOWS "shen.exe" #-WINDOWS "shen")
  
  #+SBCL (DEFCONSTANT EXECUTABLE-NAME #+WIN32 "shen.exe" #-WIN32 "shen")
  
  (ENSURE-DIRECTORIES-EXIST NATIVE-PATH)
  
  (PROCLAIM '(OPTIMIZE (DEBUG 0) (SPEED 3) (SAFETY 3)))
  #+CLISP (SETQ CUSTOM:*COMPILE-WARNINGS* NIL)
  #+CLISP (SETQ *COMPILE-VERBOSE* NIL)
  #+SBCL  (DECLAIM (SB-EXT:MUFFLE-CONDITIONS SB-EXT:COMPILER-NOTE))
  #+SBCL  (SETF SB-EXT:*MUFFLED-WARNINGS* T)
  (IN-PACKAGE :CL-USER)
  
  (SETF (READTABLE-CASE *READTABLE*) :PRESERVE)
  (SETQ *language* "Common Lisp")
  (SETQ *implementation* (LISP-IMPLEMENTATION-TYPE))
  (SETQ *release*
    #+CLISP (LET ((V (LISP-IMPLEMENTATION-VERSION)))
      (SUBSEQ V 0 (POSITION #\SPACE V :START 0)))
    #+(OR CCL SBCL) (LISP-IMPLEMENTATION-VERSION))
  (SETQ *port* 2.0)
  (SETQ *porters* "Mark Tarver")
  (SETQ *os*
    (OR
      #+(OR WIN32 WINDOWS) "Windows"
      #+LINUX              "Linux"
      #+(OR OSX DARWIN)    "Mac OSX"
      #+UNIX               "Unix"
                           "Unknown"))
  
  (DEFUN import-kl (File)
    (LET ((KlFile       (FORMAT NIL "./kernel/klambda/~A.kl" File))
          (IntermedFile (FORMAT NIL "~A~A.intermed" NATIVE-PATH File))
          (LspFile      (FORMAT NIL "~A~A.lsp" NATIVE-PATH File))
          (ObjFile      (FORMAT NIL "~A~A~A" NATIVE-PATH File BINARY-SUFFIX)))
      (prepare-kl KlFile IntermedFile)
      (translate-kl IntermedFile LspFile)
      (COMPILE-FILE LspFile)
  
negative.code: (FMAKUNBOUND 'import-lsp)
  (FMAKUNBOUND 'import-kl)
  
  #+CLISP
  (PROGN
    (EXT:SAVEINITMEM
      (FORMAT NIL "~A~A" NATIVE-PATH BINARY-NAME)
      :INIT-FUNCTION 'SHEN-TOPLEVEL)
    (QUIT))
  
  #+CCL
  (PROGN
    (CCL:SAVE-APPLICATION
      (FORMAT NIL "~A~A" NATIVE-PATH BINARY-NAME)
      :PREPEND-KERNEL T
      :TOPLEVEL-FUNCTION 'SHEN-TOPLEVEL)
    (CCL:QUIT))
  
  #+SBCL
  (SAVE-LISP-AND-DIE
    (FORMAT NIL "~A~A" NATIVE-PATH BINARY-NAME)
    :EXECUTABLE T
    :SAVE-RUNTIME-OPTIONS T
    :TOPLEVEL 'SHEN-TOPLEVEL)
  