diff --git a/sequence.ml b/sequence.ml index 18e1a87..16d8da7 100644 --- a/sequence.ml +++ b/sequence.ml @@ -582,6 +582,17 @@ module TypeClass = struct fold addable.add addable.empty seq end +(** {2 Infix functions} *) + +module Infix = struct + let (--) i j = int_range ~start:i ~stop:j + + let (|>) x f = f x + + let (@@) a b = append a b + + let (>>=) x f = flatMap f x +end (** {2 Pretty printing of sequences} *) diff --git a/sequence.mli b/sequence.mli index 0acb12b..dae0321 100644 --- a/sequence.mli +++ b/sequence.mli @@ -319,6 +319,16 @@ module TypeClass : sig val to_addable : ('a,'b) addable -> 'a t -> 'b end +(** {2 Infix functions} *) + +module Infix : sig + val (--) : int -> int -> int t + + val (|>) : 'a -> ('a -> 'b) -> 'b + + val (@@) : 'a t -> 'a t -> 'a t +end + (** {2 Pretty printing of sequences} *) val pp_seq : ?sep:string -> (Format.formatter -> 'a -> unit) ->