[CM] build-probs-openmcl-OSX.2.8

Tobias Kunze Briseņo t@fictive.com
Mon, 27 Oct 2003 14:37:59 +0100


> In other words, on the second pass you forgot to load CLM first.

i think the clm (and maybe cmn interface) could be made failsafe
(ie this whole class of errors eradicated) if cm would define its
own stubs.  then, upon load, cm would load its stubs IFF no clm
package exists.  in case clm gets loaded later, it will redefine
those stubs automatically anyway.  if not, nothing would break
and just warnings would be issued.

two beneficial side-effects: 

  1. packaging for cm/clm/cmn would be dramatically simplified
     since package handlers wouldn't have to 'subcontract'
     handlers of related packages, and
  2. invocation of clm/cmn in remote processes could be easily
     implemented once such a need should arise.
     
example of what i mean by stubs:

  -- clm-stubs.lisp --------------------------------------

  (defpackage clm ...)
  (in-package 'clm)
  ...
  (defmacro defstub (sym)
    `(defun ,sym (&rest args)
       (declare (ignore args))
       (warn "stub: ~a" ,sym)))

  (dolist (s *clm-entry-points*) (defstub s))
  --------------------------------------------------------

of course, clm would need in-package forms as noted in an earlier
thread.