Dhall: A Gateway Drug to Haskell
In my opinion Haskell&#x27;s capabilities to help implement general-purpose SW (services, compilers, GUI, game-dev, systems) are way over-hyped.<p>Sure, it&#x27;s nice to implement parsers&#x2F;compilers in it (see  ̶N̶̶̶i̶̶̶x̶̶̶, Elm, DHall) and it&#x27;s to some extent popular for backend web development, but I don&#x27;t think the strong static type system is such an advantage as advocates want you to believe.<p>Of course it&#x27;s safer (and faster) than dynamic languages like Python (Ruby, JavaScript), but in my personal opinion, you don&#x27;t gain that much if you compare it to something like Rust, Java or even Go.<p>In particular the common abstractions (Monad, Applicative, Functor) are used very differently in different libraries (everyone seems to want to write her own DSL), so it&#x27;s hard to get comfortable with third party libraries.<p>Furthermore it&#x27;s still the case, that there&#x27;s not much really interesting SW made in it. Some years ago you could argue, it&#x27;s because of familiarity, but (static typed) functional programming is part of CS curricula for at least 10 to 20 years now.<p>Lastly it&#x27;s just incredible hard to estimate runtime characteristics (clock-time, memory usage), because you never know which compiler optimizations kick in or not.<p>It&#x27;s a nice language, but again, I don&#x27;t think it&#x27;s such a panacea as proponents often tell you.<p>And to be snarky: If Haskell is such an advanced language to make implementing reliable SW such a breeze, it <i>should</i> be part (maybe as a dependency) of more SW.<p>EDIT: Nix is implemented in C++ as correctly pointed out in a comment.