Re: [racket-users] sub-range-binders

2015-07-15 Thread Leif Andersen
Oh, okay, that makes complete sense. Thanks. ~Leif Andersen On Wed, Jul 15, 2015 at 4:24 PM, Robby Findler wrote: > Oh, I understand Jens Axel to be doing something more subtle than > that. In particular, in his example check syntax sees two distinct > identifiers (sym and sym?) that have over

Re: [racket-users] sub-range-binders

2015-07-15 Thread Robby Findler
Oh, I understand Jens Axel to be doing something more subtle than that. In particular, in his example check syntax sees two distinct identifiers (sym and sym?) that have overlapping ranges. When you rename one, it just renames that one and hopes for the best. (Well, to see what it actually does, yo

Re: [racket-users] sub-range-binders

2015-07-15 Thread Leif Andersen
So then, out of curiosity, how does it do this for structs? (I thought it was using sub-range-binders there.) For example: If I have the program: #lang racket (struct foo (bar)) (define x (foo 2)) (foo-bar x) I can use the rename tool to rename bar to baz and get: #lang racket (struct foo (bar

Re: [racket-users] sub-range-binders

2015-07-15 Thread Robby Findler
No, I don't think that this can be made to work with the current sub-range-binders. The way DrRacket thinks about this is that those are two different binders (symb and symb?), and you are renaming either one of them or the other one. It can't connect them the way you are seeming to want to connect

[racket-users] sub-range-binders

2015-07-14 Thread Jens Axel Søgaard
Hi All, I am experimenting with the sub-range-binders syntax property. Given this program: (define symb? symbol?) (define-no? symb?) symb I want to use DrRacket's renaming facility to rename the symb? in the second line to sym?. I expect to get this program: (define sym? symbo