[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: declare in with-slots



> I'm not sure I understand what all the fuss is about. Currently in
> Common Lisp, the following is not allowed;
> 
> 	(multiple-value-bind (x y z)
> 	  (declare (fixnum x y z))
> 	  (multiple-return-value-function a b c)
> 
> 	  ...
> 	)

The correct syntax is:

	(multiple-value-bind (x y z)
	    (multiple-return-value-function a b c)
	  (declare (fixnum x y z))

	  ...
	)

> It would, of course, be nice to be able to do the above, just as it
> would for with-slots, but the following also works in at least one
> CL I've used:
> 
> 	(multiple-value-bind (x y z)
> 	  (multiple-return-value-function a b c)
> 
> 	  (locally 
> 	    (declare (fixnum x y z))
> 
> 		...
> 	  )
> 	)

It may be allowed, but it doesn't seem very useful because it doesn't
change the fact that tagged value slots have to be used.

  -- David Gray