CL implementation questions

Jamison Hope jrh@theptrgroup.com
Fri Apr 20 22:47:00 GMT 2012


On Apr 20, 2012, at 4:56 PM, Charles Turner wrote:

> Once the bug with DECLARE's scope handling is sorted, would it be best
> to try and make THE fully compatible with the spec? Or to get more
> CLTL1 functionality done in CL, filling in holes as deep as they need
> to be filled in order to proceed? (For instance, I only need DECLARE
> to work with types for the time being, full compatibility with the
> CLHS for DECLARE looks rather daunting)


For now, I think covering the common case and moving on is OK. In order
for DECLARE and THE to fully match the spec, we need to have full
support for type specifiers, including compound type specifiers. That
seems like it could get quite involved, and I'm somewhat inclined to
hold off on it to see if we might be able to be clever and produce
something compatible with JSR 308* (which might be in JDK8?). There are
plenty of lower-hanging fruits to cover first.

-Jamie



* Wouldn't it be nifty if these were equivalent?

(defun foo (x)
   (declare ((vector * 3) x))
   ...)

public static Object foo(@Length(3) Vector x)
{
   ...
}

But I'm not sure what to do about a hairy specifier like
(or null (and integer (satisfies evenp)) (eql *bar*)).

--
Jamison Hope
The PTR Group
www.theptrgroup.com





More information about the Kawa mailing list