Well… Just turn the pipe operator around the other way and set up the language so function execution proceeds from bottom to top:
last_operation() <|
middle_operation() <|
first_operation() <|
starting_data
(P.S. Don’t actually do this)
Well… Just turn the pipe operator around the other way and set up the language so function execution proceeds from bottom to top:
last_operation() <|
middle_operation() <|
first_operation() <|
starting_data
(P.S. Don’t actually do this)
Or you can just be like Clojure and add an additional >
to the end of pipe to indicate that you’re piping to the end!
data
|> pipe_first(with, other, values)
|>> pipe_last(with, other, values)
(P.S. Or this)