[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:47:05 EDT 2011

On Oct 19, 2011, at 5:30 PM, Robby Findler wrote:

> 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.

That's precisely what I imagine. 

Better still. It would be hidden all the time unless explicitly opened. 
You could then use it to perhaps inspect what live CS really 'thinks.' 


> Probably if it is possible, it is easy. :)


Possibly worth a small paper somewhere. And I am sure Ryan would/should help. 



> 
> Robby
> 
> On Wed, Oct 19, 2011 at 4:17 PM, Matthias Felleisen
> <matthias at 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
>>> <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.