What are the problems with the second (current Haskell) form?
- The a in the value world is the same as the a in the type world -- a minor nuisance and avoidable -- one can use different names
- λ looks like \
- The purely syntactic -> that separates a lambda-variable and its body is the same token that denotes a deep semantic concept -- the function space constructor
While APL is the first in using mathematical notation in programming, Squiggol, Bananas and Agda are more recent precedents in this direction.
In short, its time for programming languages to move from unicode-friendly to unicode-embracing
Some stray thoughts incorporating these ideas into Haskell.