CM/CLM: dealing with list/array parameters?

Tobias Kunze t@ulysses.Stanford.EDU
Sat, 19 Jul 1997 22:56:26 -0700


if i understand right, you'll have to pass a symbol to your instrument
and delay its evaluation, for instance:

 (defins foo (start dur &key (env '*default-env*))
   (etypecase env
     (symbol (if (symbol-value env)
                 (setf env (symbol-value env))
               (progn
                 (warn "foo: env parameter ~a does not have a value. ~
                        reverting to *default-env*")
	         (setf env *default-env*))))
     (list ))		; do nothing
   ...)

this works of course only for global symbols, but I guess you wouldn't
want to look at random local bindings anyway.

Hope that helps,

-Tobias