diff --git a/src/core/CCFun.ml b/src/core/CCFun.ml index 242032a5..b407d6a5 100644 --- a/src/core/CCFun.ml +++ b/src/core/CCFun.ml @@ -64,6 +64,7 @@ module Infix = struct let ( %> ) = compose let[@inline] ( % ) f g x = f (g x) let ( let@ ) = ( @@ ) + let ( ||> ) (a, b) f = f a b end include Infix diff --git a/src/core/CCFun.mli b/src/core/CCFun.mli index 5476b580..0536a734 100644 --- a/src/core/CCFun.mli +++ b/src/core/CCFun.mli @@ -81,6 +81,9 @@ module Infix : sig (** [let@ x = foo in bar] is the equivalent of [foo @@ fun x -> bar]. It can be very useful for resource management, alongside with {!protect}. @since 3.11 *) + + val ( ||> ) : 'a * 'b -> ('a -> 'b -> 'c) -> 'c + (** [x ||> f] is [f (fst x) (snd x)] *) end include module type of Infix