4 ms·
Haskell isn't quite “mainstream”, so I'm taking the liberty to add innovations from other “not quite mainstream” languages: - Hygienic macros as a scalable too
by catnaroek 10y ago
Haskell isn't quite “mainstream”, so I'm taking the liberty to add innovations from other “not quite mainstream” languages:
- Hygienic macros as a scalable tool for extending and redefining languages, and furthermore, making the extensions interoperable with each other (Racket).
- Language support for building reliable massively distributed systems in spite of individual node failures (Erlang).
- General-purpose programming with growable arrays, hash tables and no other data structures (okay, these ones are very mainstream).
- mafribe 10y agoGood points. ML originally had Lisp-like macros, not sure about hygiene. Note also that one doesn't always want hygiene in meta-programming, although it is nice to have the option of hygienic macro expansion. I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming. Arrays and hash tables are data-structures that you can implement as libraries in ML, so I'd say that's not a language issue. Progress in data structures and algorithms has been considerable.
- catnaroek 10y ago> I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming. Oops, yes, my bad! > Arrays and hash tables are data-structures that you can implement as libraries in ML, so I'd say that's not a language issue. Yes, but the point is that nowadays we have languages in which it's “convenient” to design entire large applications around nothing but arrays and data structures. Also, that one was snark. > Progress in data structures and algorithms has been considerable. In CS, yes. In everyday programming, regress in data structures and algorithms has also been considerable.