chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] strange warning


From: Felix
Subject: Re: [Chicken-users] strange warning
Date: Fri, 24 Jun 2011 14:42:15 +0200 (CEST)

> I just upgraded to the chicken trunk from version 4.6.5.
> 
> Now I get a can full of warnings like:
> 
> Warning: (in k9353) constant-folding expression results in error: "bad
> argument type - not a proper list": (reverse (quote #f))
> 
> Warning: (in k9436) constant-folding expression results in error: "bad
> argument type - not a proper list": (reverse (quote #f))
> 
> Warning: (in k10634) constant-folding expression results in error:
> "bad argument type - not a proper list": (reverse (quote #f))
> 
> 
> I don't like it when compiling my code gives warnings, if you see what
> I mean.
> 
> So how would I get rid of them?  (No tricks, I want to track the case
> down,
> no "csc prog.scm 2>/dev/null"-equivalents please. ;-)

These warnings indicate that optimizations transform your code in such
a way (through inlining for example), that some execution paths contain
calls to procedures with arguments evaluated at compile-time. It would be
interesting to see where this occurs. If you are interested, compile
with "-debug 7" and wade through the thicket of CPS calls.

If this gets too annoying I might throw the warning out again. Currently
it hasn't been overly helpful.

> 
> The warning by itself is not very helpful. But maybe it's related to a
> long standing warning I keep getting? (which I happen to accept as the
> cost of macro trickery of mine):
> 
> Warning: in local unknown procedure,
>  in toplevel procedure `dispatch#make-askemos-public-user':
>  expected value of type boolean in conditional but were given a value
>  of
> type `list' which is always true:

This is usually not too critical and appears for example in code that
uses "and-let*", where some bindings are statically known to be true,
but still the runtime code contains tests.


cheers,
felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]