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

Reply via email to