<div dir="ltr">"lang:read.1" looks a some name generated by "syntax-local-lift-expression" or "generate-temporaries". IIRC the ".1" is how the printer handles showing identifiers that may have the same symbol, but different scope.<br>
<br>so:<br><br><div><div>#lang racket</div><div>(define-syntax (example stx)</div><div> (syntax-case stx ()</div><div> [(_) </div><div> (with-syntax ([id (syntax-local-lift-expression #''anything)])</div><div>
#'(displayln 'id))]))</div><div>(example)</div><div>(example)<br><br><br>would display something like</div></div><div><br></div><div>lifted.0</div><div>lifted.2<br><br>But I'm not sure what makes the name "lang:read".</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 6, 2014 at 5:50 PM, Matthew Butterick <span dir="ltr"><<a href="mailto:mb@mbtype.com" target="_blank">mb@mbtype.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Under certain circumstances, because of what I assume is a bug in my code, I get an error like this:<br>
<br>
> define-values: assignment disallowed;<br>
> cannot re-define a constant<br>
> constant: lang:read.1<br>
> in module: "/Users/mb/git/racket/racket/collects/racket/main.rkt"<br>
> context...:<br>
> (submod /Users/mb/git/racket/racket/collects/racket/main.rkt reader): [running body]<br>
<br>
I understand how the "assignment disallowed" error arises. What I don't understand is the meaning of "lang:read.1" in this context. I'm guessing it has something to do with the #lang line (?) but ... the rest is hazy.<br>
<br>
Clarification welcome.<br>
____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br></div>