left and right sections extended

Hi, the following sections are currently legal in Haskell: (a + b +) and (++ a ++ b) because + is left and ++ is right associative. I would like to write (+ 1 +) and (++ " " ++) as legal generalized sections, too, to stay for (\ a -> (a + 1 +)) and (\ a b -> a ++ " " ++ b) respectively. The right-associative case would be "flip (\ b -> (++ " " ++ b))" Such an extension would be easy to implement and it would also be a generalization of putting parenthesis around symbols as in (+) or (++). Extending the grammar is easy: aexp -> ... | ( infixexp qop ) (left section) | ( qop⟨-⟩ infixexp ) (right section) Some thoughts are needed to exclude the illegal cases (as done for left and right sections). Is this worth a formal proposal or is this too confusing? Cheers Christian

I'm not convinced there are enough use cases to warrant the extra complexity.
-- Lennart (iPhone)
On Sep 30, 2011, at 14:21, Christian Maeder
Hi,
the following sections are currently legal in Haskell:
(a + b +) and (++ a ++ b)
because + is left and ++ is right associative.
I would like to write
(+ 1 +) and (++ " " ++)
as legal generalized sections, too, to stay for (\ a -> (a + 1 +)) and (\ a b -> a ++ " " ++ b) respectively.
The right-associative case would be "flip (\ b -> (++ " " ++ b))"
Such an extension would be easy to implement and it would also be a generalization of putting parenthesis around symbols as in (+) or (++).
Extending the grammar is easy:
aexp -> ... | ( infixexp qop ) (left section) | ( qop⟨-⟩ infixexp ) (right section)
Some thoughts are needed to exclude the illegal cases (as done for left and right sections).
Is this worth a formal proposal or is this too confusing?
Cheers Christian
_______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime
participants (2)
-
Christian Maeder
-
Lennart Augustsson