Yes, an assertion would have been fine. You're right. I am hoping to write up a revised Part IV by the end of this semester. It will show how to teach the use of 'loops' (*map) via type-based selection. I don't have time to spell it all out in email first. -- Matthias
On Oct 4, 2010, at 9:59 PM, Bill Richter wrote: > Sorry, Matthias, that was dumb of me to post my solution. What should > I have done? Should I have just asserted there was no real use of > ormap & andmap in HtDP? Should I have said that that exercise didn't > IMO require andmap? Should I not have discussed the exercise at all? > Is this even a good list to ask questions about good program design? > > David, I didn't understand what your code was supposed to show. > That's good you know how to replicate draw.ss in universe. I thought > about doing it, as the docs point you that way, but didn't see how. > Why do you think that HtDP's ormap is different from Racket's ormap? > > HtDP Figure 57: > ;; ormap : (X -> boolean) (listof X) -> boolean > ;; to determine whether p holds for at least one item on alox > ;; that is, (ormap p (list x-1 ... x-n)) = (or (p x-1) (or ... (p x-n))) > > That's the ormap described when you hit: > ormap provided from racket/base, racket > > Now that's a bit different from what's described when you hit: > ormap provided from lang/htdp-advanced > (ormap p (list x-1 ... x-n)) = (or (p x-1) ... (p x-n)) > > I assume that's a documentation bug, as Advanced Student has set!, so > it matters if you evaluate all the later (p x-i)s after you get a > non-#f value. I should try it out to be sure. _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users