On Tue, Jun 23, 2009 at 8:28 PM, Brandon S. Allbery KF8NH <span dir="ltr">&lt;<a href="mailto:allbery@ece.cmu.edu">allbery@ece.cmu.edu</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><div class="im"><div>On Jun 23, 2009, at 05:20 , Luke Palmer wrote:</div><blockquote type="cite"><div class="gmail_quote"><div>obsolete now, will your code still work when they are gone?  Will it still work when the typeclass resolution algorithm is obsoleted by a superior algorithm (I&#39;m looking at you, Oleg! :-)?  When Haskell is obsolete, how hard will it be to port?</div>
</div></blockquote><div><br></div></div><div>This is the point at which 99% of programmers throw up their hands at the futility of trying to guess what lies 20 years in the future, and just writes the fscking code.  I mean, you&#39;ve just ruled out both Haskell98 *and* Haskell-with-extensions.</div>
</div></div></blockquote><div><br>What?  I didn&#39;t mean to.<br><br>In case I wasn&#39;t clear enough, by the typeclass algorithm, I mean the algorithm for inference with typeclasses -- the semantics would be the same.  Many of Oleg&#39;s famous hacks are sensitive to the specific way GHC searches for instances, which I did intend to rule out. <br>
<br>And &quot;how hard will it be to port&quot; is about the essence of the code.  I&#39;m trying to rule out code which is not correct and meaningul at its heart, but which may rely on syntactic tricks (eg. printf emulation, &quot;Monads&quot; which don&#39;t satisfy the laws just for the notation, ...), or operational tricks such as unsafeInterleaveIO.  Code that has an air of a  mathematical model is much more likely to be portable.<br>
<br>I think typical Haskell code will end up having a much longer life than typical C code, even if Haskell dies when C is still in use.  But a small fraction Haskell code is <i>just</i> Haskell code, and I try not to write that kind.  Really, such mindfulness is a lot easier than it sounds, because we are using such a beautiful, essentially simple language.<br>
<br>Luke</div></div>