<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
&gt;&gt;Of course. See HtDC. <br>
<br>
Thanks, I didn't know you had a Java book in the works (though I probably should have guessed).<br>
<br>
&gt;&gt;Would you find this more comprehensible? <br>
<br>
Perhaps I would understand the code better if I ran it (still haven't 
had the opportunity). Prof. Bloch posted an explanation on the plt-edu 
list that's a bit closer to my level.<br>
<br>
Thanks again.<br>
<br>
<br>
Jay<br>
<br><br><hr id="stopSpelling">Subject: Re: [racket] HTDP 17.1.2; applying methodology to imperative languages<br>From: matthias@ccs.neu.edu<br>Date: Wed, 30 Mar 2011 22:23:33 -0400<br>CC: users@racket-lang.org<br>To: planarian@hotmail.com<br><br>
<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML"><base><div><br></div><br><div><div>On Mar 30, 2011, at 10:10 PM, Jay wrote:</div><br class="ecxApple-interchange-newline"><blockquote><span class="ecxApple-style-span" style="border-collapse: separate; font-family: 'Lucida Grande'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; font-size: medium;"><div class="ecxhmmessage" style="font-size: 10pt; font-family: Tahoma;">Hi,<br><br>I have two unrelated questions, and I hope no one will mind my bundling them together:<br><br>1) I'm stumped by the "cross" problem (17.1.2). Although I did manage to dig up someone else's solution, and do understand it, I would never have recognized it from the problem description as an instance of two-lists-with-one-treated-atomically. Aside from its location in the text, is there a way of looking at this problem that helps identify the technique? Even knowing the answer, I'm not sure what should have been on my auxiliary function "wish list."<br></div></span></blockquote><div><br></div><div><div><br></div><div>Would you find this more comprehensible?&nbsp;</div><div><br></div><div>#lang racket&nbsp;</div><div><div><br></div><div>(require rackunit)</div><div><br></div><div>;; cross : [Setof X] [Setof Y] -&gt; [Setof [List X Y]]</div><div>(define (cross s t)</div><div>&nbsp;&nbsp;(for*/set ((1s s) (1t t)) (list 1s 1t)))</div><div><br></div><div>(check-equal? (cross (set 1 2 3) (set 'a 'b)) (set '(1 a) '(1 b) '(2 a) '(2 b) '(3 a) '(3 b)))</div><div><br></div></div></div><br><blockquote><div class="ecxhmmessage" style="font-size: 10pt; font-family: Tahoma;">2) Is there a post or other resource that describes how HTDP methodology can be applied to programming in other languages? I'm interested in C++, but I imagine discussions of any imperative language would be helpful.</div></blockquote><br></div><div>Of course. See HtDC.&nbsp;</div>                                               </body>
</html>