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

Re: TC Bug report



    Date:           Tue, 24 Apr 84 00:45:15 PST
    From:           Seth Goldman <seth@UCLA-CS.ARPA>

    ;Error: don't yet know how to emit this kind of quoted structure: #{Flavor VANILLA}
    ;Action: will use the symbol **BAD-QUOTATION-BUG-VALUE** in its place

This is your problem.  The compiler is in error in assuming that it
is at fault and not the code.  The problem is that it doesn't know
how to write directives into the object file which can instruct LOAD
to reconstruct the object "#{Flavor ...}" which appears in a literal
expression somewhere in your code.

You will have to replace the literal expression with some expression
which will evaluate to the object that you need,

In general, only objects which have a standard read/print syntax
may appear in literal expressions.  Presumably you have done something
such as

    (define-local-syntax (foo) `',(object nil ...))
    
    (define (bar) (foo))

It could be argued that any language worth its beans should be able
to handle this.  But this is a very hard problem.

The evaluator (standard compiler) ought to check for this case and
print a warning.