[alexandria-devel] asdf:load-op failed with LispWorks 4.3.7

Frank Buss fb at frank-buss.de
Sun Aug 2 18:28:59 UTC 2009


> From: Tobias C. Rittweiler [mailto:tcr at freebits.de]
>
> Notice that the relevant line describe a type specifier.

You are right, this would be not the same. I had have not much experience
with type specifiers, but read the CLHS. An interesting topic, a meta-level,
but only a subset of Common Lisp functions are allowed for defining type
specifiers, if I understand it correctly (with the exception of satisfies).

> As far as the code is concerned, I think it seems rather like a bug in
> Lispworks.

Yes, seems it is a bug in LispWorks 4.3.7. A file named "t_macros.fsl" is
created while trying to compile it and then it seems like it gets into an
endless loop, because the file "macro.fsl" doesn't exists. But the strange
thing is, that the endless loop only occurs with this complicated type
specifier.

I've found another workaround: It seems like satisfies works. So first I
define this function in macros.lisp:

(defun symbol-string-designator-p (object)
  (and (typep object 'cons)
       (typep (car object) 'symbol)
       (typep (cadr object) 'string-designator)
       (null (caddr object))))

Then I can use

(satisfies symbol-string-designator-p)

later in the macro. This is not nice, but the code is not time critical,
because only used in a macro expansion, so should be no problem.

Maybe would be interesting to analyze the real problem, but I guess it is
already fixed in LispWorks >= 5, so I'll buy the new version, when I can
spend some money for it :-)

-- 
Frank Buss, fb at frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de






More information about the alexandria-devel mailing list