left and right sections extended

Lennart Augustsson lennart at augustsson.net
Sat Oct 1 07:48:48 CEST 2011


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 <Christian.Maeder at dfki.de> wrote:

> 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-prime



More information about the Haskell-prime mailing list