[racket-dev] [plt] Push #28781: master branch updated
> 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.
Jay