6:05:50splittist(I do sometimes wonder, if parsing is such a solved problem it shouldn't be covered in compiler courses, why do new languages have reserved keywords...?)
6:08:02no-defun-allowedI don't know if I see the relation between the two parts of that question. Suppose reserving them keeps the syntax context-free?
6:08:52no-defun-allowedA Haskell or ML program fragment like let let = 2 in let requires us to know let is bound as a variable while parsing the body, and it looks pretty bad in my opinion.
6:10:21moon-childthat's still context free, it just requires more lookahead. And considering haskell allows you to define new operators, I don't think they're very concerned with being syntax-free at all