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.