On Apr 13, 2015, at 8:40 AM, Matthew Flatt <[email protected]> wrote:

> Most packages build ok using the above snapshot:
> 
> http://next-pkg-build.racket-lang.org.s3-website-us-west-2.amazonaws.com/
> 
> Several failures are "ambiguous binding" errors. That error usually
> indicates an unavoidable incompatibility between the old and new macro
> systems. I'm interested to hear whether the package authors can
> understand the errors and fix them and whether the incompatibilities
> seem manageable.

For a “hygienic" reader-extension, that outputs syntax with lexical context 
telling it where an identifier should be from so it isn’t captured, what should 
I do in the new expander?

For example the afl and rackjure pkgs both provide a reader extension that 
looks like for example:
#λ(+ % 1)
Which is read as: (sort of)
(lambda (%) (+ % 1))
Where the `lambda` identifier has lexical context that says that it comes from 
racket/base.

But with the new macro expander, I’m seeing errors like this:
lambda: identifier's binding is ambiguous
  context...:
   #(42661 module) #(42683 module reader 0) #(42873 module)
   #(42874 module test-afl-at-exp-racket 0) #(43994 local) #(43995 intdef)
  matching binding...:
   #<module-path-index:(racket/base)>
   #(42661 module) #(42683 module reader 0)
  matching binding...:
   #<module-path-index:(racket/base)>
   #(42661 module) #(42683 module reader 0)
  matching binding...:
   #<module-path-index:(racket/base)>
   #(42873 module) #(42874 module test-afl-at-exp-racket 0)
  in: lambda
  compilation context...:
   
/home/racket/build-pkgs/user/.racket/snapshot/pkgs/afl/afl/tests/test-afl-at-exp-racket.rkt

So, is there a way to do this in the new macro expander?


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/54C8E4C1-54E2-4D6B-9803-B0CB3D878B1D%40knauth.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to