|
From: | rain1 |
Subject: | Re: include bug in guile |
Date: | Thu, 31 Mar 2016 13:55:44 +0100 |
User-agent: | Roundcube Webmail/1.0.6 |
On 2016-03-31 13:39, Wette, Matthew R (3441) wrote:
On Mar 29, 2016, at 6:05 PM, Wette, Matthew R (3441) <address@hidden> wrote:On Mar 29, 2016, at 10:16 AM, address@hidden 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 1I 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
I think you are right and this can't be considered a bug, even though it may introduce bugs in programming if used wrong.
wingo mentioned to me that LOAD can be used as an alternative to INCLUDE if we want late binding instead of early.
Thanks!
[Prev in Thread] | Current Thread | [Next in Thread] |