> On Sep 30, 2015, at 4:19 PM, Lyle Kopnicky <lylew...@gmail.com> wrote: > > > > ---------- Forwarded message ---------- > From: Lyle Kopnicky <lylew...@gmail.com <mailto:lylew...@gmail.com>> > Date: Wednesday, September 30, 2015 > Subject: [racket-users] Defining a symbol breaks symbols? > To: Jason Hemann <jhem...@umail.iu.edu <mailto:jhem...@umail.iu.edu>> > > > Ha, thanks, Jens and Jason, for the explanation. That makes sense. I'm used > to static languages lately and it's been a long time since I've programmed in > a Lisp. > > See question inline. > > On Sep 30, 2015, at 10:43 AM, Jason Hemann <jhem...@umail.iu.edu > <javascript:_e(%7B%7D,'cvml','jhem...@umail.iu.edu');>> wrote:
>> This sort of thing can be fun and useful >> >> > (define c3 (lambda (quote) (lambda (z) '''z))) >> > ((c3 add1) 0) >> 3 >> > > That bothers me a bit. It looks unhygienic, as the quote function is being > captured. I guess reader macros can't have hygiene? It is an unhygienic reader macro, because it captures the quote from its use instead of racket's quote. It turns out reader macros can have hygiene, which I use for things like my afl meta-language. Other languages like rackjure, curly-fn, and sugar/debug also use hygiene in reader macros. I don't have time for a full explanation right now, but I'll come back in ~3 hours (after choir rehearsal) and give you one if your interested. Alex Knauth -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.