Hacker News new | ask | show | jobs
by verdax_1 3460 days ago
Haskell for lazy FP, pattern matching, and monads; ocaml for strict FP and a crazy expressive module system; C# for industry OO; lua for dynamic language and prototype inheritance; ruby for runtime meta programming; lisp for macros; forth for stack language; erlang for actor module, byte pattern matching, and dynamic unification pattern matching; prolog for logic programming; c for low level; c++ for templates and destructors; rust for linear types; idris for dependent types; R for rank polymorphism. After that languages started to seem like variations of things I've seen before.
2 comments

> rust for linear types

Apparently Philip Wadler came up with this notion, so your already-mentioned Haskell should suffice ;)

> idris for dependent types

Are we still on "Essentially, which are these few common paradigm languages that teach you more than 90% of what's out there?" or are we by now in the territory of "which languages to cover every single remotely-computation-related notion anyone ever conjured up and managed to somewhat implement"? ;D

Can you explain why you see R as an exemplar for rank polymorphism?
I don't see it as one. It just happens to be the one I encountered that had the feature. Please suggest better, I wasn't that fond of R.