On Oct 20, 2011, at 3:53 AM, Stephen Bloch wrote:

> 
> On Oct 20, 2011, at 1:20 AM, John Clements wrote:
> 
>> I'm pleased to report that the sound library works pretty transparently with 
>> the universe teachpack.
>> ...
>> (define (accelerate b)
>> (cond [(and (<= (ball-posn b) 6)
>>             (<= (ball-vel b) 0)) 
>>        (begin (play pop)
>>               (make-ball 6 (- (ball-vel b))))]
>>       [else
>>        (make-ball (+ (ball-posn b) (ball-vel b))
>>                   (- (ball-vel b) 1))]))
>> ...
>> The larger question could potentially be whether the sound-playing should be 
>> less imperative. If you wanted, you could add a "to-play" along with 
>> "to-draw", and just make the sound-playing part of the world state. This 
>> would avoid the "begin".
> 
> 
> "to-play" MIGHT be a good way to do things, but in many cases (including the 
> above "accelerate" example) it'll be more natural to specify a sound as you 
> determine the new world, rather than as a separate function of the state of 
> the world.  It's analogous to the difference between "stop-when" and 
> "stop-with".  One could provide this ability very simply:
> 
> (define (play-with sound world)
>      (begin (play sound) world))

Yes, but how do you write test cases for this?

John

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to