anchor.diff:  (defun getenv (name &optional default)
     #+CMU
     (let ((x (assoc name ext:*environment-list*
  -		  :test #'string=)))
  +                  :test #'string=)))
       (if x (cdr x) default))
     #-CMU
     (or
  
positive.code: (let ((v))
    (defun version ()
      (or v
  	(setf v
  	      (with-open-file (in (cim_home "/VERSION"))
  		(read-line in))))))
  
  (defun opt (key)
    (gethash key *options*))
  
negative.code: (defpackage cim
    (:use :CL)
    (:export :*argv*
             :getenv
             :parse-options
             :opt))
  (in-package :cim)
  (defvar *raw-argv*
    #+allegro  (cdr (system:command-line-arguments))
    #+sbcl (do*  ((var sb-ext:*posix-argv* (cdr list))
                  (list var var))
                 ((string= (car list) "--") (return (cdr list))))
    #+clisp ext:*args*
    #+ecl (do*  ((var (si:command-args) (cdr list))
                 (list var var))
                ((string= (car list) "--") (return (cdr list))))
    #+abcl extensions:*command-line-argument-list*
    #+gcl (do*  ((var si::*command-args* (cdr list))
                 (list var var))
                ((string= (car list) "--") (return (cdr list))))
    #+cmu ext:*command-line-words*
    #+ccl ccl:*unprocessed-command-line-arguments*
    #+lispworks system:*line-arguments-list*)
  