Thanks! 

Frame conditions are (I think) only implicitly hinted at by Stephen's slide (I 
guess that's the point of the line `getOther()==-4 //hasn't changed').

-- Éric


On Jun 13, 2013, at 9:51 AM, Matthias Felleisen <matth...@ccs.neu.edu> wrote:

> 
> I don't have slides and I don't recall this post, but I recall posting 
> somewhere, not too long ago (this is conceptual not verbatim):  
> 
> PURE FUNCTIONS 
> are tested via
> -- f(in) = out 
> 
> IMPURE FUNCTIONS NEE
> are tested via 
> -- set up state 
> -- set up frame condition testing 
> -- f(in) = out %% use the proper equality, kind of true above but now we need 
> intensionality too 
> -- test intended effects 
> -- test frame conditions 
> -- tear down state 
> 
> People tend to omit frame conditions but they shouldn't. How do you know that 
> your effectful functions don't affect other aspects of state? 
> 
> -- Matthias
> 
> 
> 
> 
> 
> On Jun 13, 2013, at 9:40 AM, Eric Tanter wrote:
> 
>> Thanks a lot Stephen. Effectively, that's not at all what I was remembering 
>> (which was rather "picture-centric"), but that is also very helpful.
>> 
>> I'll keep on mining the list archives until I find it or someone remembers.
>> 
>> Cheers,
>> 
>> -- Éric
>> 
>> 
>> On Jun 12, 2013, at 8:45 PM, Stephen Bloch <johne...@gmail.com> wrote:
>> 
>>> 
>>> On Jun 12, 2013, at 2:15 PM, Eric Tanter wrote:
>>> 
>>>> I remember that someone, some time ago (how precise!), posted on this list 
>>>> a link to a couple of slides that nicely and concisely illustrate the 
>>>> advantages of pure functions vs. impure ones when doing testing. 
>>> 
>>> This is probably not what you're remembering, but you could take a look at 
>>> http://home.adelphi.edu/sbloch/papers/func-imp-testing.pdf
>>> which is one of my slides from a conference talk.
>>> 
>>> Stephen Bloch
>>> sbl...@adelphi.edu
>>> 
>>> 
>>> 
>> 
>> 
>> ____________________
>> Racket Users list:
>> http://lists.racket-lang.org/users
> 
> 


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to