On Mar 30, 2011, at 10:10 PM, Jay wrote:
> Hi, > > I have two unrelated questions, and I hope no one will mind my bundling them > together: > > 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." Would you find this more comprehensible? #lang racket (require rackunit) ;; cross : [Setof X] [Setof Y] -> [Setof [List X Y]] (define (cross s t) (for*/set ((1s s) (1t t)) (list 1s 1t))) (check-equal? (cross (set 1 2 3) (set 'a 'b)) (set '(1 a) '(1 b) '(2 a) '(2 b) '(3 a) '(3 b))) > 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. Of course. See HtDC.
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

