[Top][All Lists]
[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