On Mar 29, 2016, at 6:05 PM, Wette, Matthew R (3441) 
<matthew.r.we...@jpl.nasa.gov<mailto:matthew.r.we...@jpl.nasa.gov>> wrote:


On Mar 29, 2016, at 10:16 AM, 
ra...@openmailbox.org<mailto:ra...@openmailbox.org> wrote:

I think this is a bug in guile relating to "include":

a.scm: (define a 1)
b.scm: (include "a.scm") (display a) (newline)

guile -l b.scm # prints 1

now update
a.scm: (define a 2)

guile -l b.scm # still prints 1

I have noticed this behavior and have learned to live with it.  Given the 
following from the Guile Reference manual (2.0.11), I think it is not 
considered a bug.

"On the other hand, include does have all the disadvantages of early binding: 
once the code with the include is compiled, no change to the included file is 
reflected in the future behavior of the including form.”

And I will add that an implementation that checked all includes would have to 
carry a tree of source dependencies for each binary .go file.  The alternative 
seems unattractive to me so I am happy to live with the current implementation. 
— Matt

Reply via email to