[racket-dev] 5.2.0.1: displayln appears to write to console from where drracket was launched

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed Oct 19 17:17:40 EDT 2011

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
> <matthias at 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
>>> <matthias at 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
>>>>> <matthias at 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
>>>>>> 
>>>> 
>>>> 
>> 
>> 




Posted on the dev mailing list.