Re: [racket] How to get a shared environment in different modules in compile time

2013-09-25 Thread Sam Tobin-Hochstadt
This is, in part, the essence of the technique, so you're already on the right track. Sam On Wed, Sep 25, 2013 at 9:55 AM, Dmitry Pavlov wrote: > Sam, > > Thank you for the references. I will read them shortly. > For now, I got away with a macro-generating macro: > > > (define-syntax (def-with-c

Re: [racket] How to get a shared environment in different modules in compile time

2013-09-25 Thread Dmitry Pavlov
Sam, Thank you for the references. I will read them shortly. For now, I got away with a macro-generating macro: (define-syntax (def-with-comment stx) (syntax-case stx () ((_ (name comment . params) . body) #'(begin (begin-for-syntax (hash-set! comments (syntax->dat

Re: [racket] How to get a shared environment in different modules in compile time

2013-09-25 Thread Sam Tobin-Hochstadt
On Wed, Sep 25, 2013 at 6:59 AM, Dmitry Pavlov wrote: > > However, I do not see how to fix that. Does anybody? > What is the recommended way to do that sort of thing in Racket? This turns out to be a subtle issue, but one we've thought a lot about. The best way to learn about how we do this in R

[racket] How to get a shared environment in different modules in compile time

2013-09-25 Thread Dmitry Pavlov
Hello, Suppose I am trying to have my own variant of (define), which tags text comments to things that it defines. I am keeping the comments in a hashtable for whatever purpose, and in the following example I am just printing them to the standard output: ~ defcom.rkt #lang racket (define-fo