Since there's talk of <span style="text-decoration: underline;"></span><a href="http://hackage.haskell.org/trac/haskell-prime/wiki/CompositionAsDot">removal of the composition operator in Haskell-prime</a>, how about this:
<br><br>Instead of:<br>foo = f . g<br><br>you write:<br>foo = .g.f<br><br>A leading dot would mean, &quot;apply all unnamed parameters to the function on the right&quot;.&nbsp; A trailing dot would mean, &quot;apply the result of the left to the function on the right&quot;.
<br><br>Prelude&gt; notNull = .null.not<br>=&gt; [a] -&gt; Bool<br><br>notNull [1,2,3]<br>=&gt; True<br><br>[1,2,3].notNull<br>=&gt; True<br><br>[1,2,3].null.not<br>
=&gt; True<br><br><br>I like this because it has the same perks as the composition operator, yet it looks like OO code and the data flows nicely from left to right.&nbsp; It reads especially well when using the bind operator on the same line.
<br><br>Thoughts?<br><br>Thanks,<br>Greg<br><br><br><br><br><br><br>