The first step would be a compile-time IO console. The second step would be a compile-time interaction mode. This would fit right in with Ryan's past work. It would mean compile the Def Window (as in CS) and make for-syntax values available at the repl for experimentation. Then again, I might have had too much coffee :-)
On Oct 19, 2011, at 5:13 PM, Robby Findler wrote: > With a REPL? That's a lot more than I had been thinking about. I'm not > sure how to do it, either. > > Robby > > On Wed, Oct 19, 2011 at 4:12 PM, Matthias Felleisen > <matth...@ccs.neu.edu> wrote: >> >> May I propose a compile-time interaction window in drracket? -- Matthias >> >> >> >> On Oct 19, 2011, at 5:08 PM, Robby Findler wrote: >> >>> Well, when you do IO at compile time there isn't really a good place >>> to put it (at least not at the moment) so instead of making a good >>> place to put it, I just let it go to drracket's stdout. Probably >>> reasonable to consider this a bug. >>> >>> Robby >>> >>> On Wed, Oct 19, 2011 at 4:06 PM, Matthias Felleisen >>> <matth...@ccs.neu.edu> wrote: >>>> >>>> Yeap, I have live CS running all the time. Interesting effect. >>>> >>>> >>>> On Oct 19, 2011, at 5:02 PM, Robby Findler wrote: >>>> >>>>> Probably when you were running check syntax? (Or maybe when it was >>>>> being run for you?) >>>>> >>>>> Robby >>>>> >>>>> On Wed, Oct 19, 2011 at 4:01 PM, Matthias Felleisen >>>>> <matth...@ccs.neu.edu> wrote: >>>>>> >>>>>> I am running the silly program below (no meaning), and on occasion I see >>>>>> the output of the *** line in the console from where I launched >>>>>> drracket. 5.2.0.1 from 10/16 >>>>>> >>>>>> >>>>>> #lang racket >>>>>> >>>>>> (require (for-syntax syntax/parse)) >>>>>> >>>>>> (define-for-syntax (postfix stx word stem) >>>>>> (datum->syntax stx (string->symbol (string-append word "-" >>>>>> (symbol->string stem))))) >>>>>> >>>>>> (define-syntax (define-un-serialize stx) >>>>>> (syntax-parse stx >>>>>> [(_ name:id (argument:id ...) unparser:expr parser:expr) >>>>>> (define serialize (postfix stx "serialize" (syntax-e #'name))) >>>>>> (define deserialize (postfix stx "deserialize" (syntax-e #'name))) >>>>>> (displayln `(,serialize ,deserialize)) ;; **** >>>>>> #`(define-values (#,serialize #,deserialize) >>>>>> (values (lambda (argument ...) unparser) >>>>>> (lambda (msg) parser)))])) >>>>>> >>>>>> (define-un-serialize f (x y) values values) >>>>>> _________________________________________________ >>>>>> For list-related administrative tasks: >>>>>> http://lists.racket-lang.org/listinfo/dev >>>>>> >>>> >>>> >> >> _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev