On 28 jun 2007, at 22.02, Greg Meredith wrote:
Thomas,
Thanks for the reply. My thinking was that once you have a
polymorphic form, why single out any other? Less moving parts makes
for less maintenance, etc.
Ok, sorry if my reply seemed harsh. You are of course right, that
having few primitives is better. In Haskell you have two primives:
function binding and let-binding. Let bindings are always recursive,
thus
let x = e in body =/= (\x -> body) e
because x also is bound to itself in "e".
Since, do-binding is defined in terms of normal lambda-binding, there
are no more primitives.
/ Thomas
PS: "let" is treated specially by the type-checker too. The
technical term is "let-polymorphism", but I couldn't find any good
results, using a quick google search. Hopefully, others will chime in.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe