On Thu, Jul 27, 2017 at 5:00 PM, Matthew Flatt <[email protected]> wrote:
> It's strange that a mutable hash table is otherwise ok. The mutable
> hash table in that case is getting coerced to an immutable hash table
> as a convenience for some internal data in a bytecode form. Whatever
> that use of a hash table, though, it's not supposed to have syntax
> objects inside.

That's strange to me because

(define-syntax (m6 stx)
  (syntax-case stx ()
    [(_ x)
     (let ([ht (hasheq 'y #'x)])
       (quasisyntax (define-syntax x #,(foo #'x ht))))]))
(m6 e10)

works for me. (I expected the mutable thing to be coerced into an
immutable thing. In the real code, the hash can only be modified
during the initial construction.)

Should I consider the answer to be that I need to stick to things that
can be syntax literals without conversion?

-- 
-=[     Jay McCarthy               http://jeapostrophe.github.io    ]=-
-=[ Associate Professor        PLT @ CS @ UMass Lowell     ]=-
-=[ Moses 1:33: And worlds without number have I created; ]=-

-- 
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/CAJYbDak4JSU4MxS1%2B9zYBZPc1s9U8fk%3DyKYvPz9MqMfDaxHwXg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to