[racket-dev] [plt] Push #28781: master branch updated

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Fri May 23 19:02:50 EDT 2014

> On May 23, 2014, at 3:59 PM, Greg Hendershott <greghendershott at gmail.com> wrote:
> Feedback from a relatively naive Racket user:
> 1.
>> +External effects are exemplified by input/output (or I/O). I/O is the
>> +action of a function such as @racket[tcp-connect], which communicates
>> +with the operating system to send network packets outside of the
>> +machine running Racket via the electromagnetic spectrum.
> It might be OK to omit "via the electromagnetic spectrum". Yes I'm
> aware of RFC 1149. But still.  :)

Yes, maybe it's too cute. I really wanted to emphasize its irreversibility. 

> 2.
>> +In particular, if module A is shared by the phase 1 portion of modules
>> +X and Y, then any internal effects while X is compiled are not visible
>> +during the compilation of Y, regardless of whether X and Y are
>> +compiled during the same Racket runtime system.
> Was "system" supposed to be "session"?

No. Each time you start Racket you get a NEW rts. 

> 3. The practical example goes some way toward explaining why this
> matters. But only part way (for me). Probably some real-life situation
> motivated this. Knowing that backstory might help. (If you think that
> tale doesn't fit and/or belong in the reference docs, maybe it would
> make a great blog post?)

Yes. One of Matthew's papers has some good examples. 


Posted on the dev mailing list.