That one should fail (and the same as with the old expander).
Each `(let () )` starts a new scope, and the identifier introduced
by `(use)` doesn't have the scope for the outer `(let () )` where
`(def)` creates a binding.
At Tue, 21 Jul 2015 19:38:57 +, Spencer Florence wrote:
> That
That fixed the example I gave, but now this fails:
(let ()
(def)
(let ()
(use)))
On Mon, Jul 20, 2015 at 2:50 PM Matthew Flatt wrote:
> Repair pushed.
>
>
>
> > On Jul 20, 2015, at 11:14 AM, Matthew Flatt wrote:
> >
> > Thanks for the info. I think it's a bug in the expander, and I hav
Repair pushed.
> On Jul 20, 2015, at 11:14 AM, Matthew Flatt wrote:
>
> Thanks for the info. I think it's a bug in the expander, and I have a
> repair, but I think that repair might point to another bug that I'm
> still investigating.
>
> At Mon, 20 Jul 2015 12:56:49 -0400, "Alexander D. Knau
Thanks for the info. I think it's a bug in the expander, and I have a
repair, but I think that repair might point to another bug that I'm
still investigating.
At Mon, 20 Jul 2015 12:56:49 -0400, "Alexander D. Knauth" wrote:
> I don't really know what's going on, but this might help:
>
> ;; It see
I don't really know what's going on, but this might help:
;; It seems to be introducing the definition correctly, but not the use:
;; this works
(let ()
(def) ; no difference between (def) and (define id 5)
id)
;; this doesn't
(let ()
(def)
(use)) ; but there is a difference between (use)
Hello,
I'm trying to update some code to the new expander. The below code works on
6.2 but fails on the new expander with an unbound identifier error.
#lang racket
(require (for-syntax syntax/parse))
;; a standard context for identifiers
(define-for-syntax ctx #'ctx)
;; create an ID with the co
6 matches
Mail list logo