On Tue, 29 Mar 2011, Andy Wingo wrote: >[...] > > (a) undo MACRO definitions - you can't re-DEFINE a name after > > DEFINE-SYNTAX; > > You can certainly re-define a name after define-syntax. This used to > not be the case, at least with psyntax, but this changed at some point > in upstream psyntax, and I merged in similar functionality in our copy > sometime last year or the year before.
Sorry. I could have sworn ... but I must have confused it with GUILE 1.8. > > (b) recover built-in functions once you have re-defined them; > > Hummmm. However, functions which have been defined in your module in > terms of your local functions might keep a hold on your local functions. > Whether this happens depends on whether the code in question has been > run or not, and whether the code was introduced from a macro or not. > For the mechanism, see "Compiled Procedures are VM Programs" in the > manual. > > Basically I'm hesitant to include such functionality in Guile itself, > because it gets harder for me (as maintainer, bug-hunter, etc) to reason > about users' code after you ,undefine. OK, that's a rather exotic point. I came across it since my "prelude" traditionally re-defines the "while" macro [to work as it should have in GUILE 1.6, i.e. allowing for an optional result argument to "break"]. > > (c) test code that uses UNDEFINED? . > > How is this different from (not (defined? 'sym)) ? And what kind of > code would you use this for? Sorry, in fact I did mean the function "defined?". Used in my prelude, because GUILE - my first Scheme - used to provide it. === On Thu 17 Mar 2011 12:50, Andy Wingo <wi...@pobox.com> writes: >>> (3) documentation: Please do document that ~/.guile is (often) invoked >>> automatically (old omission), and what options (including >>> _undocumented_ "-q") inhibit this. >> >> Will do. > > Done. Thanks a lot! Best regards, Wolfgang J. Moeller, Tel. +49 551 47361, wjm<AT>heenes.com 37085 Goettingen, Germany | Disclaimer: No claim intended! http://www.wjmoeller.de/ -+-------- http://www.heenes.com/