Ohne Klammern:Wie erklären Sie die Assoziativität des Bindeoperators in diesem hakell Ausdruck?
Prelude> [1,2] >>= \n -> ['a', 'b'] >>= \ch -> return (n, ch)
[(1,'a'),(1,'b'),(2,'a'),(2,'b')]
Klammerung links Assoziativität unter der Annahme:
Prelude> [1,2] >>= (\n -> ['a', 'b'] >>= \ch -> return (n, ch))
[(1,'a'),(1,'b'),(2,'a'),(2,'b')]
Ist das nicht >>=
links assoziativ:
Prelude> ([1,2] >>= \n -> ['a', 'b']) >>= \ch -> return (n, ch)
<interactive>:22:49: Not in scope: `n'
Klammerung rechts Assoziativität vorausgesetzt? Wenn keine Klammern vorhanden sind, warum bewertet GHCi den Ausdruck so, als wäre >>=
richtig assoziativ?
lambdas erstrecken sich so weit wie möglich. Es konnte nicht angezeigt werden. Vielen Dank ! – 0x777