chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] 'f_125' undeclared with (declare (block))


From: Jörg F. Wittenberger
Subject: Re: [Chicken-users] 'f_125' undeclared with (declare (block))
Date: Mon, 09 Dec 2013 10:24:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

Am 08.12.2013 19:01, schrieb .alyn.post.:
I'm getting an error message when I use |(declare (block))|.
...
what's going on with |(declare (block))| here?  I don't understand
the documentation on this declare option to know whether I'm doing
something wrong or whether this code cannot be compiled with that
declaration.


(declare (block))
will magically arrange things as if you had no exports at all. Therefore bindings never referenced (except from those exports, which are no longer seen by the compiler) will be optimized away.

For you case I'd recommend to just not use this declaration.

(If you really want to compile your code with block optimization anyway, you need to create a second module which defines the exports - usually to be #f. This must be compiled without the block declaration. Import this "exporter module" into your implementation module and set! those exported bindings to the values defined in you implementation module.)



reply via email to

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