I think this is a bug in SBCL, and should be reported with its maintainers.
Pascal On 10 Jun 2011, at 16:53, Tamas K Papp wrote: > Hi, > > I tried to save a supplied-p parameter from a BOA constructor like this: > > (defstruct (delayed-iseq > (:constructor iseq (start-or-end > &optional (end 0 end?) (by 1) > strict-direction?))) > "Delayed index sequence evaluation." > start-or-end end end? by strict-direction?) > > but SBCL complained that end? was not used. After rereading the CLHS > page for defstruct, I am still not 100% sure why this is. My > intepretation is that END? is an argument like any other, but probably I > am not getting something. > > Anyhow, instead I used > > (defstruct delayed-iseq > "Delayed index sequence evaluation." > start-or-end end end? by strict-direction?) > > (defun iseq (start-or-end &optional (end 0 end?) (by 1) strict-direction?) > (make-delayed-iseq :start-or-end start-or-end :end end :end? end? :by by > :strict-direction? strict-direction?)) > > Is there a way to do it in a single defstruct definition? > > Best, > > Tamas > > PS.: (eq end nil) is different from when it is not supplied, hence the > need to save end?. > > > _______________________________________________ > pro mailing list > pro@common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro -- Pascal Costanza _______________________________________________ pro mailing list pro@common-lisp.net http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro