<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>1. One cause of confusion: world-after-button-down and world-after-button-up are under-specified in your purpose statements (i.e. "RETURNS:" comments): rather than "the world following a button-up event", which is vague and open to multiple interpretations, say what behavior you wish to observe (and then codify that behavior in your test cases). Get specific: what happens when the button is pressed while the cursor is in one ball? multiple balls? no balls?</div><div><br></div><div>This vagueness is in some of your other functions, too.</div><div><br></div><div>2. The "structural decomposition on w : World" isn't what's going on. Your function is really a structural decomposition of the list of balls, and this is obscured by the way you are recurring on a World.</div><div><br></div><div>Rule of thumb: never rebuild something just so you can recur on a smaller version of one of its parts.<br><br>Best,<div>Jordan</div></div><div><br>On Oct 4, 2014, at 7:50 PM, Animesh Pandey <<a href="mailto:animeshpandey.etno@gmail.com">animeshpandey.etno@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi,<div>I have designed the program. You can see this <a href="http://pastebin.com/v6L2STP7">here</a>. It is a basic GUI program where I generate figures using a key event. The figures can be dragged but I noticed one thing which was if any of the figures overlap then when the figure which is on top is dragged the one below is also dragged. You run it with (run 0) and then press 'n' to generate new figures on the center of the canvas.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Oct 4, 2014 at 9:50 PM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Yes, it's your choice whether one circle moves or both.<br>
<br>
If this is related to a course, you need to design the program so that this mailing list can help you with where you're stuck.<br>
<br>
If you're trying to find a good GUI toolbox, then I'd recommend using the underlying one instead. The big-bang construct is used for teaching design.<br>
<div><div class="h5"><br>
<br>
On Oct 4, 2014, at 9:47 PM, Animesh Pandey wrote:<br>
<br>
> Hi,<br>
> I am using big-bang to create a simple GUI application where I am dragging two solid circles.<br>
> Suppose I drag one circle on top of another and release the mouse button and then when I click both circles move together. Is there away I can avoid this? I want the circle on the top to move and not the one under it.<br>
><br>
> Thanks<br>
</div></div>> ____________________<br>
>  Racket Users list:<br>
>  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</blockquote></div><br></div>
</div></blockquote><blockquote type="cite"><div><span>____________________</span><br><span>  Racket Users list:</span><br><span>  <a href="http://lists.racket-lang.org/users">http://lists.racket-lang.org/users</a></span><br></div></blockquote></body></html>