[Openmcl-devel] Undefined function: muting the compiler

Scott L. Burson Scott at sympoiesis.com
Tue Sep 28 17:27:29 PDT 2010


Try wrapping WITH-COMPILATION-UNIT around the two LOAD calls.

-- Scott

On Tue, Sep 28, 2010 at 4:36 PM, Michael Minerva
<minerva at agentsheets.com> wrote:
> Hey Paul,
>
> I think our issue might be better described with an example with three files:
>
> First, we have an init.lisp that contains:
>
> (load "home:A")
> (load "home:B")
>
> Then, A.lisp:
>
> (defun a-func()
>  (b-func))
>
> Finally, b.lisp:
>
> (defun b-func ()
>  (print "B-FUNC!"))
>
> When you execute the init file you will get this warning:
>
> ;Compiler warnings for "home:A.lisp.newest" :
> ;   In A-FUNC: Undefined function B-FUNC
>
> Most of the time we would try to declare b-func in a file that is loaded before a.lisp gets loaded, but in a few cases this is impossible.  Is there anyway to avoid this type of warning?  Thanks.
>
> --Mike
> On Sep 28, 2010, at 4:48 PM, Paul Krueger wrote:
>
>> Alex,
>>
>> I wonder if there isn't something else going on for you. I was pretty sure that I didn't see the behavior you describe, so I created a simple example file containing two defun's that each reference the other to test my memory. Neither load nor compile-file gave any kind of warning for this example. You DO get a warning if you just open the file in the IDE and do an "execute all" on it, but I sort of expect that.
>>
>> Paul
>>
>>
>> On Sep 28, 2010, at 5:20 PM, Alexander Repenning wrote:
>>
>>> This is just a silly but general CL question but I wonder how people are handling it. If you are loading a file containing, say, function a and b and a calling b and for some reason you cannot move up b to be located before a you will get the compiler warning In A: Undefined function B
>>>
>>> Not a big deal but it is really nice to get rid of all compiler warnings if possible. I just cant find relevant stuff in CLTL2. I would imagined that one could do something like
>>>
>>> (proclaim '(type function b)) or (proclaim '(function b))
>>>
>>> but that does not appear to work
>>>
>>> any suggestions?
>>>
>>> Alex
>>>
>>>
>>>
>>> _______________________________________________
>>> Openmcl-devel mailing list
>>> Openmcl-devel at clozure.com
>>> http://clozure.com/mailman/listinfo/openmcl-devel
>>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
>>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>



More information about the Openmcl-devel mailing list