Warning: highly biased opinion incoming.<p>I came from Python to Erlang &#x2F; Scheme &#x2F; Haskell and at this point I would answer your question,<p>&gt; What kind of things can I build with Haskell?<p>With: Everything.<p>We use Haskell in production at Plum for our REST APIs, job schedulers, web applications, AWS service interfaces, a static site compiler, DB modeling, command line utilities, etc...<p>We also use it for two CLI utilities that are cross-compiled for the ARM9 on our IoT product.<p>I consider Haskell to be superior to any of the dynamically typed languages when writing production-level code, it&#x27;s cleaner, safer, easier to maintain, easier to refactor, and much more fun IMHO.<p>[EDIT] I neglected the other part of your question, &quot;What is the learning flow like?&quot;<p>Definitely a bit rougher than Python or Ruby, I will not lie, but don&#x27;t be discouraged. It simply means you need to do a bit more studying up-front first before you can tinker without being caught at every turn by the straight-jacket.<p>I would first go through Learn You a Haskell because it is pretty accessible and introduces the language basics well enough. Then <i>study the type system</i>. You must learn Haskell&#x27;s type system and terminology before you can understand more advanced code.