<story><title>How we secretly introduced Haskell and got away with it</title><url>https://tech.channable.com/posts/2017-02-24-how-we-secretly-introduced-haskell-and-got-away-with-it.html</url></story><parent_chain><item><author>daxfohl</author><text>I&amp;#x27;m just starting with Haskell and PureScript.  So far I&amp;#x27;m liking the latter better.  It solves a few of their gripes with respect to strings, laziness and records, plus has a more granular&amp;#x2F;extendable effects system and cleans up the standard typeclass hierarchy.  Also `head []` doesn&amp;#x27;t crash.&lt;p&gt;Of course Haskell is more mature, has support for multithreading and STM, compiles to native, so it&amp;#x27;s more performant.  But PureScript integrates with JS libraries and seems &amp;quot;fast enough&amp;quot; in many cases.  I think it&amp;#x27;s more interesting &lt;i&gt;as a project&lt;/i&gt; too: the lack of runtime and laziness means the compiler code is orders of magnitude simpler than Haskell&amp;#x27;s, so I could see a larger community building around it if it catches on.&lt;p&gt;Given that they were on Python earlier, I wonder if PureScript would have been a better choice.</text></item></parent_chain><comment><author>chrisdone</author><text>I think PureScript should catch on. The runtime performance story is much more predictable than Haskell, it integrates trivially with the most valuable target platform: JS, it has small output, fixes the warts of Haskell and yet is still pure.&lt;p&gt;Aside from apps at work, I made some simple physics demos with it &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;chrisdone.com&amp;#x2F;toys&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;chrisdone.com&amp;#x2F;toys&amp;#x2F;&lt;/a&gt; Perfomance seems good.</text></comment>
<story><title>How we secretly introduced Haskell and got away with it</title><url>https://tech.channable.com/posts/2017-02-24-how-we-secretly-introduced-haskell-and-got-away-with-it.html</url></story><parent_chain><item><author>daxfohl</author><text>I&amp;#x27;m just starting with Haskell and PureScript.  So far I&amp;#x27;m liking the latter better.  It solves a few of their gripes with respect to strings, laziness and records, plus has a more granular&amp;#x2F;extendable effects system and cleans up the standard typeclass hierarchy.  Also `head []` doesn&amp;#x27;t crash.&lt;p&gt;Of course Haskell is more mature, has support for multithreading and STM, compiles to native, so it&amp;#x27;s more performant.  But PureScript integrates with JS libraries and seems &amp;quot;fast enough&amp;quot; in many cases.  I think it&amp;#x27;s more interesting &lt;i&gt;as a project&lt;/i&gt; too: the lack of runtime and laziness means the compiler code is orders of magnitude simpler than Haskell&amp;#x27;s, so I could see a larger community building around it if it catches on.&lt;p&gt;Given that they were on Python earlier, I wonder if PureScript would have been a better choice.</text></item></parent_chain><comment><author>Karrot_Kream</author><text>&amp;gt; It solves a few of their gripes with respect to strings, laziness and records, plus has a more granular&amp;#x2F;extendable effects system and cleans up the standard typeclass hierarchy. Also `head []` doesn&amp;#x27;t crash.&lt;p&gt;Check out ClassyPrelude[1]. It&amp;#x27;s a (n opinionated) alternate Prelude that wraps many things up into much more &amp;quot;modern&amp;quot; interfaces. `head` has been replaced with `headMay` (which, as you can figure, returns a `Maybe a`). Most functions can now handle `Text` fairly seamlessly. For an application developer, it&amp;#x27;s fantastic.&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;hackage.haskell.org&amp;#x2F;package&amp;#x2F;classy-prelude&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;hackage.haskell.org&amp;#x2F;package&amp;#x2F;classy-prelude&lt;/a&gt;</text></comment>