Defined as roughly : `a %>.% b`

~ `{ . <- a; b };`

(with visible .-side effects).

pipe_left_arg %.>% pipe_right_arg pipe_left_arg %>.% pipe_right_arg

pipe_left_arg | left argument expression (substituted into .) |
---|---|

pipe_right_arg | right argument expression (presumably including .) |

eval({ . <- pipe_left_arg; pipe_right_arg };)

The pipe operator has a couple of special cases. First: if the right hand side is a name, then we try to de-reference it and apply it as a function or surrogate function.

The pipe operator checks for and throws an exception for a number of "piped into
nothing cases" such as `5 %.>% sin()`

, many of these checks can be turned
off by adding braces.

For some discussion, please see http://www.win-vector.com/blog/2017/07/in-praise-of-syntactic-sugar/.
For some more examples, please see the package README https://github.com/WinVector/wrapr.
For formal documentation please see https://github.com/WinVector/wrapr/blob/master/extras/wrapr_pipe.pdf.
For a base-R step-debuggable pipe please try the Bizarro Pipe http://www.win-vector.com/blog/2017/01/using-the-bizarro-pipe-to-debug-magrittr-pipelines-in-r/.
`%>.%`

and `%.>%`

are synonyms.

`%.>%`

: dot arrow`%>.%`

: alias for dot arrow

# both should be equal: cos(exp(sin(4)))#> [1] 0.89194654 %.>% sin(.) %.>% exp(.) %.>% cos(.)#> [1] 0.8919465