From ... From: Erik Naggum Subject: ISLisp and `dynamic' Date: 1995/12/18 Message-ID: <19951218T233254Z@arcana.naggum.no>#1/1 X-Deja-AN: 122198993 organization: Naggum Software; +47 2295 0313 newsgroups: comp.lang.lisp ISLisp has an interesting mechanism when it comes to dynamic variables. I have come to like it, but there is a missing generality. to define a dynamic variable: (defdynamic variable ...) to access a dynamic variable: (dynamic variable) to set a dynamic variable: (setf (dynamic variable) ...) to bind a dynamic variable: (dynamic-let ((variable ...)) ...) the latter form seems somewhat gratuitous, since it is not like `fluid-let' and does the exactly same thing that `let' does, except for the new way to refer to special variables. I would prefer something of this sort: (let* ((variable1 ...) ((dynamic variable2) ...) (variable3 ...)) ...) i.e., if the `let' and `let*' forms have the grammar (let ((var form)*) body-form*) then "var" may be a simple variable name or list whose first element is `dynamic' and whose second and last is a dynamic variable name. (this is based on generalized variable binding from the widely available `letf' macro, but the special nature of `dynamic' makes it somewhat more restrictive in scope than a fully general `letf' would be.) comments? # -- suppose we actually were immortal... what is the opposite of living your life as if every day were your last?