<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jun 27, 2014, at 9:08 PM, Todd O'Bryan wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-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; orphans: 2; text-align: -webkit-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: 0px; font-size: medium; ">I know Matthias thinks types are a horrible thing to make students deal with first semester,</span></blockquote></div><br><div><br></div><div>What I have said in the past: </div><div><br></div><div>(1) HtDP teaches a type-directed notion of design, including the imperative parts (VII and VIII). </div><div><br></div><div>(2) type inference (the dominant way of checking types in our world when we launched PbD) is a miserable choice issuing error messages incomprehensible to experts. </div><div><br></div><div>I stand by these two points. Period. </div><div><br></div><div>(3) type checking is something whose error messages is likely to confuse students more than help them once it fails. That's especially true if the type system supports polymorphic types and we teach with them. </div><div><br></div><div>I can now modify this stance a bit: </div><div>-- modern IDEs exploit type information in a way that helps students compose expressions properly and </div><div>-- this positive contribution outweighs the negative that yet another layer of the software can issue error messages. </div><div><span class="Apple-tab-span" style="white-space:pre"> </span>(I used to characterize this as "students comes to me and says `the computer did this to me' for some value of this < error"). </div><div><br></div><div>One day we may turn this modification into something. </div><div><br></div><div>While I make provocative statements to launch discussions of what many people accept as 'givens', my actual stances are nuanced. </div><div><br></div><div>-- Matthias</div><div><br></div><div><br></div><div><br></div><div><br></div></body></html>