That sounds cool to me. Now that I think about it, I think we used to have something like this (it was a mixin tied to a specific language, not something that worked for all #lang languages) but it was back before we had the macro system to support it, I think.
I imagine it would work as by having an alternative to "run" that would just put you somehow into level 1. Probably if it is possible, it is easy. :) Robby On Wed, Oct 19, 2011 at 4:17 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > 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