3 ms·
Compilers are wonderful to implement in a statically typed language with algebraic types and pattern matching, every pass can be a function transforming this in
by kryptiskt 7y ago
Compilers are wonderful to implement in a statically typed language with algebraic types and pattern matching, every pass can be a function transforming this intermediate language to that intermediate language until you emit the target code. The only thing that comes close in dynamically typed languages is the Nanopass framework used in Chez Scheme.
GHC development has a far lower bus factor now than when it just consisted of a handful of Simons. Compare to Clojure that has everything needing to go through one guy.
Julia is irrelevant, it is implemented in C++. All the real work is done in LLVM, which is a tremendously complex heap of C++, far more intimidating than GHC.
- socialdemocrat 7y agoSay Julia is all LLVM is like saying Haskell is all C code because that is what it outputs. That is simply a fantastically ignorant statement. If LLVM was what mattered every dynamic language would have slapped it in the back. I am sorry but it just isn't that simple.
- kryptiskt 7y agoLLVM isn't all that matters, but Julia is built on 4 million lines of statically typed code, so maybe tone down your dynamic typing boosting a bit?
- socialdemocrat 7y agoHow did you arrive at that number? Quite a lot of ways one could count that. Anyway I have never claimed statically typed languages are irrelevant or not useful. My criticism is of advance statically typed languages. I am quite okay with stuff like Go, C and maybe Ada and Swift. I am highly critical of C++. Far too complex language. With Haskell my criticism is different. It seems like an elegant language you can learn a lot from. However I criticize the prevalent belief that Haskell is some sort of programming Nirvana. That somehow it is the ultimate language. I think Haskell is grossly overrated. It is too complex at a theoretical level for the average programmer. When we also learn the implementation is complex.... well then I am not sure there is much hope for that language. Sure keep it in academia. People learn lots of useful stuff from it. But don't kid yourself into thinking world dominance is right around the corner.