25 Oct
2001
25 Oct
'01
5:04 p.m.
On Thu, Oct 25, 2001 at 09:47:31AM +0000, Levent Erkok wrote:
Another place where `:=' bindings are badly needed is the recursive do-notation (mdo, as supported in hugs.) In an mdo, let bindings have to be monomorphic, because they are passed back to the mfix loop in a lambda binding. Hence, if we had :=, we can simply say that mdo only allows let bindings of the `:=' form, and that would clear up the whole issue.
I'm no expert, but I think the new proposal for the arrow notation, if it allows recursive binding forms, can make use of this facility as well.
Yes, let bindings in arrow notation must also be monomorphic, but it's nothing to do with recursion. It's because the value being defined is passed as input to the next arrow.