Hi, Fare Thanks you for your explanation ... it seems that you're suggesting a general WARN condition should never been signaled on compile-time.
Most of the compile-time warnings in my program comes from cl-yacc [1], because I'm trying to do LALR parsing for a very ambiguous language called ASN.1 [1], there're 28 Shift/Reduce, and 1 Reduce/Reduce conflicts in my LALR grammar rules and it produce correct result. Fortunately I used a modified version of cl-yacc and directly include it as vendor code (and changed its package), so I can change all these warnings into style-warnings, to make SBCL happy. There's another compile-time warning in my CLOS related code, something like this: (defclass a-class () ((slot :type 'a-subclass))) (defclass a-subclass (a-class) ()) When compiling the first class definition, SBCL warn that the type A-SUBCLASS haven't been defined (this is true, but I defined it immediately in next form). I think, to make SBCL happy, again, I have to reorder above two definitions, putting the definition of A-SUBCLASS before A-CLASS, and CLOS does support this, using a MOP feature called FORWARDED-REFERENCE-CLASS. I still don't think these coding styles are wrong according ANSI Common Lisp standards, but if ASDF insist to do so, I have to modify my code. Regards, Chun Tian (binghe) [1] http://www.pps.jussieu.fr/~jch/software/cl-yacc/ 在 2011-3-20,07:53, Faré 写道: > On 19 March 2011 14:51, Chun Tian (binghe) <[email protected]> wrote: >> Hi, ASDF developers >> >> I think asdf:*compile-file-failure-behaviour* should never been set to >> :error, just :warn is good. >> > Well, SBCL is known for its anal attitude towards declaring as an > error or failure anything that could be possibly interpreted as such > by the standard, the idea being that a program that works in SBCL > should work anywhere. Traditionally, a warning in SBCL counts as a > failure in compilation. > >> I don't know why SBCL here is special, but this definition caused my project >> (cl-net-snmp 6.0) failed to be compiled by ASDF "only" on SBCL. Just try to >> put following lines in your ASDF based project and try to build it: >> >> (eval-when (:compile-toplevel) >> (warn "xxx")) >> >> you'll find how ludicrous the current setting of >> asdf:*compile-file-failure-behaviour* are. >> > What about using alexandria:simple-style-warning ? Maybe there should > be a short-hand alexandria:style-warn? Meh. Or if that's what you > want, just format something to the error-output. In any case, it's a > long tradition for SBCL to behave that way, and other library authors, > including I, have accepted that fact. I'm sorry that the answer isn't > completely satisfactory to you. Been there, done that. > > [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] > You don't have to like everything about me, but if you don't love me > the way I am, it's not me you love, only some fantasy of yours. _______________________________________________ asdf-devel mailing list [email protected] http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
