>compile does not evaluate (aka load) the definitions, it only compiles them.

Usually, sure, but in the code ‘#:to ‘value” was set. From the manual:
>As discussed before (see Object File Format), bytecode is in ELF format, ready 
>to be serialized to disk. But when compiling Scheme at run time, you want a 
>Scheme value: for example, a compiled procedure. For this reason, so as not to 
>break the abstraction, Guile defines a fake language at the bottom of the 
>tower:
> * Value
Now, as example it compiled a lambda expression into a procedure, but it can be 
done for Scheme expressions that don’t evaluate to procedures as well. The 
definition ‘(define a whatever)’ strictly speaking isn’t an expression, but it 
appears the compilation stack doesn’t care.

>alternatively, you yourself can explicitly call the lambda returned by compile.

In this particular case, no lambdas are returned.

Best regards,
Maxime Devos.

Reply via email to