<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>On Aug 17, 2011, at 6:12 PM, Prabhakar Ragde wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">If it were up to me, I would take the built-in definition of posns out. I don't think being able to use `make-posn' for a few minutes before introducing `define-struct' is worth the hassle.</div></blockquote><br></div><div>On the other hand, I introduce "make-color" very early indeed -- in chapter 3, before function definitions -- and "make-posn" in chapter 20, but "define-struct" not until chapter 21. Emmanuel convinced me that it really helps students to get a lot of practice creating instances of struct types before they have to write functions working on them, much less defining new struct types.</div><div><br></div><div>But Emmanuel is dealing with 14-year-olds, and I'm dealing with college non-majors, while Prabhakar is dealing largely with CS majors.</div><div><br></div>Still, I don't see any reason not to allow the full match syntax in, say, ISL, as soon as one can use function names in argument position and define new variables with local scope.<div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div>Stephen Bloch</div><div><a href="mailto:sbloch@adelphi.edu">sbloch@adelphi.edu</a></div><div><br class="webkit-block-placeholder"></div></span><br class="Apple-interchange-newline"> </div><br></div></body></html>