Excellent, thanks a lot!

On Sat, Dec 16, 2017 at 8:44 PM, Matthew Flatt <mfl...@cs.utah.edu> wrote:

> [...]
>
     (set! submodule-content
>            (cons (syntax-local-introduce
>                   #`(begin
>                       (provide proc)
>                       (define proc (list (cons 'prop prop-val) ...))))
>

1) I put all these macros in a separate module, to keep only the calls to
`my-define` in "my-file.rkt". But then Racket was complaining about "no
#%datum syntax transformer is bound" on "some value", that is, on
`prop-val`. Some digging on the list told me that I could simply quote
prop-val since this is supposed to be only data. And that works great.

But for the sake of understanding, suppose that I have a racket/base
expression like `(+ 3 4)` instead of "some value", then IIUC I need to give
it some syntax location so that it can be interpreted correctly. Here, this
location seems to be (inside?) the newly created submodule, but how do I
refer to this place with `syntax/loc`?


2) Instead of `racket/base` for the submodule, I was thinking of using the
`info` language, as it seems to be lighter and is made for data (although
it does not seem to 'export' bindings). If I have to load many submodules
of files like my-file.rkt, would there be a practical difference in terms
of speed or memory, or can I just stick to racket/base (in the relatively
unlikely case the user wants to use expressions in the `prop-val`s)?


Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to