Dhall: A Gateway Drug to Haskell
In my opinion Haskell's capabilities to help implement general-purpose SW (services, compilers, GUI, game-dev, systems) are way over-hyped.<p>Sure, it's nice to implement parsers/compilers in it (see  ̶N̶̶̶i̶̶̶x̶̶̶, Elm, DHall) and it's to some extent popular for backend web development, but I don't think the strong static type system is such an advantage as advocates want you to believe.<p>Of course it's safer (and faster) than dynamic languages like Python (Ruby, JavaScript), but in my personal opinion, you don'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's hard to get comfortable with third party libraries.<p>Furthermore it's still the case, that there's not much really interesting SW made in it. Some years ago you could argue, it'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'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's a nice language, but again, I don't think it'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.