[As explained by Michael Pilat][1] you cannot create your own operators with custom precedence. (You could conceivably write your own parser as Leonid has worked on, or attempt to coerce the Box form with `CellEvaluationFunction`.) You can however use an existing operator with the desired precedence. Looking at [the table][2] `Colon` appears to be a good choice. The operator is entered with <kbd>Esc</kbd>`:`<kbd>Esc</kbd>. Example: Colon[f__, x_] := Composition[f][x] ListPlot \[Colon] Flatten \[Colon] Log@N@Accumulate@# & /@ Partition[Range@300, 100] Which appears as, and produces: ![Mathematica graphics](https://i.sstatic.net/zAwzZ.png) ![Mathematica graphics](https://i.sstatic.net/uCsR4.png) Since raw colon is already used for `Pattern` this may be confusing. However, if you are willing to edit your `UnicodeFontMapping.tr` file you can assign any symbol you like. Here I mapped `\[Colon]` to [Klingon][3] A: ![Mathematica graphics](https://i.sstatic.net/Y1SZN.png) This was done by changing the line starting with `0x2236` in `UnicodeFontMapping.tr`. [1]: http://stackoverflow.com/a/5305511/618728 [2]: http://reference.wolfram.com/mathematica/tutorial/OperatorInputForms.html [3]: http://mathematica.stackexchange.com/q/1278/121