<story><title>Reflecting on Haskell in 2016</title><url>http://www.stephendiehl.com/posts/haskell_2017.html</url></story><parent_chain><item><author>TheAceOfHearts</author><text>I started learning Haskell this year.&lt;p&gt;One of the small bumps I had was getting my environment setup. Based on my experiences with Ruby and Node, I knew I&amp;#x27;d want to have a tool for managing the language&amp;#x27;s version and dependencies per-project, so I ended up going with stack [0]. Arriving at that decision required a bit more reading than with other languages. Additionally, while setting up stack, I thought their docs were too long. They&amp;#x27;d benefit from being broken up into more pages, instead of pushing so much all at once. With that said, the information presented in the docs is actually quite clear and well written.&lt;p&gt;Looking at the Downloads section [1] on the Haskell website, it looks like they&amp;#x27;ve improved the docs since I last visited, but it&amp;#x27;s still a bit confusing. What&amp;#x27;s the point of Haskell Platform? It looks like it includes stack, which &lt;i&gt;already&lt;/i&gt; covers all my requirements. Maybe it&amp;#x27;d be useful to include a &amp;quot;why&amp;quot; section for each choice, to provide some examples of scenarios in which you might go with one choice over the other. Telling me what I&amp;#x27;m getting doesn&amp;#x27;t give me any meaningful information if I don&amp;#x27;t know why I&amp;#x27;d want that in the first place. I think there&amp;#x27;s too much information up-front, even though people landing there probably aren&amp;#x27;t equipped to make use of it. Why would someone pick the Haskell Platform option or the minimal install option?&lt;p&gt;While reading Learn You a Haskell, I used Haskell for Mac [2] for poking around. It&amp;#x27;s pretty great, although I didn&amp;#x27;t end up purchasing it, as I&amp;#x27;m not doing anything that would benefit from using it.&lt;p&gt;Something I liked about Elixir is that you can just read their getting started docs and pick up Phoenix framework to get a web app up and running. That gives you a nice base on which to gradually build upon as you learn. Does anyone have a similar suggestion for Haskell?&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;docs.haskellstack.org&amp;#x2F;en&amp;#x2F;stable&amp;#x2F;README&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;docs.haskellstack.org&amp;#x2F;en&amp;#x2F;stable&amp;#x2F;README&amp;#x2F;&lt;/a&gt;&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.haskell.org&amp;#x2F;downloads&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.haskell.org&amp;#x2F;downloads&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;haskellformac.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;haskellformac.com&amp;#x2F;&lt;/a&gt;</text></item></parent_chain><comment><author>bojo</author><text>Environment setup has been heavily discussed[1] in the community and is definitely a pain point when getting started with Haskell. Unfortunately there are several sides with differing opinions on how to bootstrap a user and get them using Haskell, although the new Downloads page seems to be a good first step towards achieving a more unified goal.&lt;p&gt;The opinions kind of break down as:&lt;p&gt;1. Simply get GHC on their machine - Typically academic instructors trying to get their students started with low overhead. They simply want GHC and GHCi available so an assignment can compile, or code can be tested in the repl.&lt;p&gt;2. Install Haskell Platform - This has been strongly supported by what I would call the older Haskell community, although admittedly share your confusion as to its point. This seems to target point-and-click users and give them every tool in the ecosystem so that when they reference the random blogs&amp;#x2F;documentation out there they aren&amp;#x27;t confused by missing a command.&lt;p&gt;3. Use Stack - This has been heavily pushed by people trying to help Haskell grow in the programming industry. It&amp;#x27;s a fantastic tool and I recommend everyone use it if they plan on doing complex projects, especially in a team setting.&lt;p&gt;My hope is that over the next year or so we&amp;#x27;ll see more stack adoption, ideally because there are more consistent tutorials&amp;#x2F;guides&amp;#x2F;documentation published which target it as the basic tool to start developing Haskell in.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.reddit.com&amp;#x2F;r&amp;#x2F;haskell&amp;#x2F;comments&amp;#x2F;50prvg&amp;#x2F;haskellcommunity_next_steps_in_downloads_page&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.reddit.com&amp;#x2F;r&amp;#x2F;haskell&amp;#x2F;comments&amp;#x2F;50prvg&amp;#x2F;haskellcomm...&lt;/a&gt;</text></comment>
<story><title>Reflecting on Haskell in 2016</title><url>http://www.stephendiehl.com/posts/haskell_2017.html</url></story><parent_chain><item><author>TheAceOfHearts</author><text>I started learning Haskell this year.&lt;p&gt;One of the small bumps I had was getting my environment setup. Based on my experiences with Ruby and Node, I knew I&amp;#x27;d want to have a tool for managing the language&amp;#x27;s version and dependencies per-project, so I ended up going with stack [0]. Arriving at that decision required a bit more reading than with other languages. Additionally, while setting up stack, I thought their docs were too long. They&amp;#x27;d benefit from being broken up into more pages, instead of pushing so much all at once. With that said, the information presented in the docs is actually quite clear and well written.&lt;p&gt;Looking at the Downloads section [1] on the Haskell website, it looks like they&amp;#x27;ve improved the docs since I last visited, but it&amp;#x27;s still a bit confusing. What&amp;#x27;s the point of Haskell Platform? It looks like it includes stack, which &lt;i&gt;already&lt;/i&gt; covers all my requirements. Maybe it&amp;#x27;d be useful to include a &amp;quot;why&amp;quot; section for each choice, to provide some examples of scenarios in which you might go with one choice over the other. Telling me what I&amp;#x27;m getting doesn&amp;#x27;t give me any meaningful information if I don&amp;#x27;t know why I&amp;#x27;d want that in the first place. I think there&amp;#x27;s too much information up-front, even though people landing there probably aren&amp;#x27;t equipped to make use of it. Why would someone pick the Haskell Platform option or the minimal install option?&lt;p&gt;While reading Learn You a Haskell, I used Haskell for Mac [2] for poking around. It&amp;#x27;s pretty great, although I didn&amp;#x27;t end up purchasing it, as I&amp;#x27;m not doing anything that would benefit from using it.&lt;p&gt;Something I liked about Elixir is that you can just read their getting started docs and pick up Phoenix framework to get a web app up and running. That gives you a nice base on which to gradually build upon as you learn. Does anyone have a similar suggestion for Haskell?&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;docs.haskellstack.org&amp;#x2F;en&amp;#x2F;stable&amp;#x2F;README&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;docs.haskellstack.org&amp;#x2F;en&amp;#x2F;stable&amp;#x2F;README&amp;#x2F;&lt;/a&gt;&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.haskell.org&amp;#x2F;downloads&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.haskell.org&amp;#x2F;downloads&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;haskellformac.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;haskellformac.com&amp;#x2F;&lt;/a&gt;</text></item></parent_chain><comment><author>harpocrates</author><text>You bring up good points! As a beginner, you are uniquely poised to observe these things, so thanks for sharing! I think a big part of the install problem is that some of the options (stack, platform) are fairly recent.&lt;p&gt;I recently got a new machine and decided to try _only_ using stack. All I had to run to get started was&lt;p&gt;&lt;pre&gt;&lt;code&gt;    $ curl -sSL https:&amp;#x2F;&amp;#x2F;get.haskellstack.org&amp;#x2F; | sh
&lt;/code&gt;&lt;/pre&gt;
The advantages of stack are that:&lt;p&gt;&lt;pre&gt;&lt;code&gt;  * I have an easy upgrade path for GHC (no need to install or uninstall) - I just change the global resolver
  * I can have multiple GHC versions installed at once (great for debugging)
  * getting rid of old versions (to clear up space) is just deleting a folder
  * most of my dependency problems get solved by resolvers
&lt;/code&gt;&lt;/pre&gt;
The only downside I&amp;#x27;ve encountered so far is that building GHC itself is quite finicky with this setup. Unlike the Haskell Platform, I will have to install manually the libraries I need - that makes development offline quite tough (you find yourself without internet and without the library you need installed).&lt;p&gt;That aside, one good starting point for building up Haskell is the 99 problems [1]. Haskell is more general purpose than Elixir, so past that, it really depends on what you want to do with it.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;wiki.haskell.org&amp;#x2F;H-99:_Ninety-Nine_Haskell_Problems&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;wiki.haskell.org&amp;#x2F;H-99:_Ninety-Nine_Haskell_Problems&lt;/a&gt;</text></comment>