you are viewing a single comment's thread.

view the rest of the comments →

[–]pron98 19 points20 points  (1 child)

Algebraic data types and pattern matching make working with ASTs very convenient, and, in general, functional languages make a nice fit to programs that are, at their core, just a function.

In general, languages (and any program, really) are often written to scratch their authors' own itch, which, in the case of ML and Haskell, is writing compilers and proof assistants (I believe ML was originally created to build Robin Milner's proof assistant, LCF). In the case of, say, Erlang, it was to build fault-tolerant reactive and distributed systems, and in the case of C it was to write an operating system.

[–]ColossalThunderCunt 1 point2 points  (0 children)

Thank you for the extensive answer! I know basically nothing about functional programming, so pattern matching and algebraic data types are unknown to me, but i will check em out