I'm interested in functional programming and decided to get head to head with Haskell. My head hurts… but I'll eventually get it…
I have one curiosity though, why is the syntax so cryptic (in lack of another word)?
Is there a reason why it isn't more expressive, more close to human language?
I understand that FP is good at modelling mathematical concepts and it borrowed some of it's concise means of expression, but still it's not math… it's a language.
Best Answer
Functional languages like Haskell and its antecedent Miranda grew out of the mathematical concept of lambda calculus. From the Wikipedia page:
Because of this history, the syntaxes of these functional languages (and functional elements of more imperative languages) are strongly influenced by the mathematical notation used by lambda calculus.
The precision with which both mathematical notations and computer languages can describe requirements and the precision with which computers require their instructions to be written correlate well with each other. The imprecision of natural language however creates a huge barrier to it's use for programming computers. Even the (arguably) most successful Natural language programming environments such as Wolfram Alpha need significant domain experience to be used effectively.