<story><title>Why Lisp is a Big Hack and Haskell is Doomed to Succeed (2011)</title><url>http://axisofeval.blogspot.ca/2011/01/why-lisp-is-big-hack-and-haskell-is.html</url></story><parent_chain></parent_chain><comment><author>jes5199</author><text>For a language that prioritizes &amp;quot;safety&amp;quot; above all things, there is an awful lot of flying blind and dangerously in Haskell. It&amp;#x27;s so, so easy to write Haskell code that&amp;#x27;s safe until you change something distant in the system, which changes when things get lazily-evaluated, and now you have a very serious resource leak. And because of the IO restrictions, you aren&amp;#x27;t likely to put logging in your code - and if you &lt;i&gt;do&lt;/i&gt;, the logs will themselves change the lazy evaluation behavior of your code. I&amp;#x27;ve seen Haskell programs that stop crashing when you pass in --debug !&lt;p&gt;If the Haskell environment was more like a virtual machine - like in Java - where you could connect into a side-channel and see what types of data were persisting in memory as the program ran - you&amp;#x27;d at least have a chance of debugging this sort of thing. But instead it compiles to machine binaries.&lt;p&gt;There doesn&amp;#x27;t seem to be any interest in the Haskell community in making tools to deal with this sort of thing - they say &amp;quot;you should learn not to make resource-leaking code&amp;quot;. Which is the same thing the Lisp hackers say - &amp;quot;just learn not to make type errors&amp;quot;.</text></comment>
<story><title>Why Lisp is a Big Hack and Haskell is Doomed to Succeed (2011)</title><url>http://axisofeval.blogspot.ca/2011/01/why-lisp-is-big-hack-and-haskell-is.html</url></story><parent_chain></parent_chain><comment><author>lukeqsee</author><text>I cannot speak for Lisp, but I am in the throes of writing a compiler from scratch in Haskell (while concurrently learning Haskell). I feel&amp;#x2F;felt very much as this article described—constrained. And then I learned ETA-reduces. Then I learned monads. And then I learned … The list just keeps going.&lt;p&gt;As I slowly learned the language the proper way, I am now able to do anything I did in a imperative&amp;#x2F;OOP&amp;#x2F;whatever language, but now I have that foundation of type safety. Like many will say, if it compiles, it most likely just works. Coupling this with automatic checking via GHC-mod and I am just as performant (in terms of writing code) and encounter half as many bugs as any other language I&amp;#x27;ve ever used. Haskell isn&amp;#x27;t a panacea, but it&amp;#x27;s a very good language.</text></comment>