<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Sep 26, 2009, at 10:20 AM, Yaron Minsky wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I'll be very interested in reading the approach to testability.&nbsp;</blockquote><div><br></div><div>We will provide two forms:&nbsp;</div><div>&nbsp;(check-member-of (f ...) 1 2 3 4)</div><div>&nbsp;(check-range (f ...) -10 +10)</div><div><br></div><div>We recommend that you write a 'main' function f that does nothing but generate random values and calls f-aux:&nbsp;</div><div><br></div><div>&nbsp;(define (f x y z) (f-aux (random x) x y z))&nbsp;</div><div><br></div><div>You can then test f-aux as before, and only f needs 'random testing.&nbsp;</div><div><br></div><blockquote type="cite"> I'm also curious about how one effectively tests the rendering functions --- it's really not obvious to me what if anything one can do there.<br></blockquote><div><br></div><div>The ICFP paper is one starting point. HtDP/2e see (links) is another one. It's more than anyone else can offer at this level, but yes, it ain't perfect. In general I tell students to play with expressions at the repl. When they are happy with the outcome they should use the expressions (not the image) as the expected result expression. As they do so -- for the various cases and value ranges of the parameter, they develop decent coverage and an idea of how to complete the template.&nbsp;</div><div><br></div><div>-- Matthias</div><div><br></div><div><br></div><div><br></div><br><blockquote type="cite"> <br>y<br><br><div class="gmail_quote">On Sat, Sep 26, 2009 at 10:01 AM, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div style="word-wrap: break-word;"><div><br></div><div>We are not ideologues:&nbsp;</div><div><br></div><div>&nbsp;;; random: Nat -&gt; Nat&nbsp;</div><div>&nbsp;;; (random n) is an element of [0,n)&nbsp;</div><div>&nbsp;</div><div>See <a href="http://www.ccs.neu.edu/home/matthias/HtDP2e/Itemizations_and_Structures.html" target="_blank">http://www.ccs.neu.edu/home/matthias/HtDP2e/Itemizations_and_Structures.html</a>, look for random. But yes, this is the only compromise so far.&nbsp;</div> <div><br></div><div>The November release will contain forms (and recommendations) for testing functions that employ random.&nbsp;</div><div><div></div><div class="h5"><div><br></div><div><br></div><div><br></div><div><br></div> <div><br></div><br><div><div>On Sep 26, 2009, at 9:56 AM, Yaron Minsky wrote:</div><br><blockquote type="cite">Argh.&nbsp; I was still running 4.1 by mistake.&nbsp; It's right there in plain sight in 4.2.1.<br><br>Another question about the world/universe approach: how do you guys think about randomness?&nbsp; I've found that adding a bit of randomness can make games considerably more compelling.&nbsp; But it's not clear how to include randomness in a reasonably simple way that doesn't compromise on the purely-functional nature of the callbacks...<br> <br>y<br><br><div class="gmail_quote">On Sat, Sep 26, 2009 at 9:49 AM, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div style="word-wrap: break-word;"><br><div><div><div>On Sep 26, 2009, at 9:43 AM, Yaron Minsky wrote:</div><br><blockquote type="cite">Nice to see everyone up so early on a Saturday morning!<br></blockquote><div> <br></div> </div><div>You're late :-]</div><div><div><br></div><br><blockquote type="cite">Where is 2htdp/universe?&nbsp; I just installed the latest PLT scheme release, and I don't see anything called "universe" in the list of teachpacks that comes up when I try to add a teachpack.<br> </blockquote><div><br></div><div><br></div></div><div>Use the scrollbar. It's there.&nbsp;</div><div><div><br></div><div><br></div><div><br></div><br><blockquote type="cite">Anyway, I'm glad to see this getting worked on.&nbsp; I think one of the things that Scratch got right is that it provides simple image transformations, which turn out to be very useful in constructing simple-yet-compelling games.&nbsp; I think having more of this stuff for drscheme will make it considerably more compelling for the younguns.<br> <br>y<br><br><div class="gmail_quote">On Sat, Sep 26, 2009 at 9:29 AM, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <br> <br> 1. htdp/world is deprecated, use 2htdp/universe instead.<br> <br> 2. we consider the pinhole approach to our image library as a mistake. To solve the problem Robby is working on 2htdp/image, a replacement for the image library. When it comes out (end of semester probably) it will support rotate and other such operations, plus comparisons will be much faster.<br> <font color="#888888"> <br> -- Matthias</font><div><br> <br> <br> <br> <br> <br> On Sep 26, 2009, at 9:17 AM, Yaron Minsky wrote:<br> <br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> I'm playing around with the image.ss and world.ss teachpacks, and I couldn't figure out how to scale and rotate images. &nbsp;Are there such image transformation functions in some other teachpack?<br> <br> y<br> </div> <div> _________________________________________________<br> &nbsp;For list-related administrative tasks:<br> &nbsp;<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br> </div></blockquote> <br> </blockquote></div><br></blockquote></div></div><br></div></blockquote></div><br></blockquote></div><br></div></div></div></blockquote></div><br></blockquote></div><br></body></html>