anchor.diff:  
   (defclass library (component) 
     ((libdir :initarg :libdir :initform nil)
  -   (libname :initarg :libname :initform nil)))
  +   (libname :initarg :libname :initform nil)
  +   (absolute :initform nil :initarg :absolute :reader absolute-p)))
   
   
   (defun split-path (path)
  
positive.code: 		 :name (or (slot-value lib 'libname) (component-name lib))
  		 :directory (split-path (slot-value lib 'libdir))))
  
  (defmethod perform ((o load-op) (c library))
    (load-shared-object (component-pathname c)))
  
  (defmethod perform ((operation operation) (c library))
    nil)
  
  (defmethod operation-done-p ((o load-op) (c library))
    (let ((namestring (ensure-namestring (component-pathname c))))
      #+sbcl(find namestring sb-alien::*shared-objects* :key #'sb-alien::shared-object-file :test #'equal)
      #+cmu(rassoc namestring system::*global-table* :test #'equal)
      #+clisp(find namestring *loaded-libraries* :test #'equal)))
  
  (defmethod operation-done-p ((o operation) (c library))
    t)
  
negative.code: #+clisp
  (defvar *loaded-libraries* ())
  
  (defun load-shared-object (pathname &optional (absolute-p t))
    (let* ((namestring (ensure-namestring pathname))
  	 (directory (namestring (pathname-sans-name+type namestring)))
  	 (name+type (subseq namestring (length directory))))
      #+sbcl
      (progn
        (sb-alien:load-shared-object namestring)
        (unless absolute-p
  	(let ((shared-object (find namestring sb-alien::*shared-objects* 
  			      :key #'sb-alien::shared-object-file 
  			      :test #'equal)))
  	  (setf (sb-alien::shared-object-file shared-object) name+type))))
      #+cmu
      (progn
        (ext:load-foreign namestring)
        (unless absolute-p
  	(let ((shared-object (rassoc namestring system::*global-table* 
  			      :test #'equal)))
  	  (setf (cdr shared-object) name+type))))
      #+clisp 
      (progn
        (ffi::foreign-library namestring)
        (pushnew 
         (if absolute-p namestring name+type)
         *loaded-libraries* :test #'string=))))
  
  
  (defmethod perform ((o load-op) (dso shared-object))
    (let ((co (make-instance 'compile-op)))
      (let ((pathname (car (output-files co dso))))
        (load-shared-object pathname (absolute-p dso)))))
  
  
  
  