On Fri, Jul 6, 2012 at 3:11 PM, Carl Eastlund <c...@ccs.neu.edu> wrote: > On Fri, Jul 6, 2012 at 3:06 PM, Matthew Flatt <mfl...@cs.utah.edu> wrote: >> At Fri, 6 Jul 2012 12:59:34 -0600, Matthew Flatt wrote: >>> As I try to make an example illustrating problems, I see that Racket is >>> more resistant to problems created by `gensym' than I expected. >> >> Ah --- one more level of indirection demonstrates the sort of trouble >> that I expected. If you compile only "a.rkt" and "b.rkt" below with >> `raco make b.rkt', then `racket c.rkt' doesn't work. > > Thanks, Matthew, having a setup that creates a predictable error is > illuminating.
While I'm thinking about this -- since gensym in macros is a common error, is it possible we could fix it so that it works? The unique marks on generate-temporaries's output are marshalled in a way that ensures marks in one module are consistent with others, I believe by tracking the originating module. Would it be possible to do the same thing with uninterned symbols in compiled code, keeping around a reference to the originating module to preserve eq?-ness? --Carl _________________________ Racket Developers list: http://lists.racket-lang.org/dev