Reason
  • Docs
  • Try
  • API
  • Community
  • Blog
  • Languages iconEnglish
    • 日本語
    • Deutsch
    • Español
    • Français
    • 한국어
    • Português (Brasil)
    • Русский
    • Українська
    • 中文
    • 繁體中文
    • Help Translate
  • GitHub
sig

  type 'a t = unit -> 'a Seq.node
  and 'a node = Nil | Cons of 'a * 'a Seq.t
  val is_empty : 'a Seq.t -> bool
  val uncons : 'a Seq.t -> ('a * 'a Seq.t) option
  val length : 'a Seq.t -> int
  val iter : ('a -> unit) -> 'a Seq.t -> unit
  val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b Seq.t -> 'a
  val iteri : (int -> 'a -> unit) -> 'a Seq.t -> unit
  val fold_lefti : ('b -> int -> 'a -> 'b) -> 'b -> 'a Seq.t -> 'b
  val for_all : ('a -> bool) -> 'a Seq.t -> bool
  val exists : ('a -> bool) -> 'a Seq.t -> bool
  val find : ('a -> bool) -> 'a Seq.t -> 'a option
  val find_map : ('a -> 'b option) -> 'a Seq.t -> 'b option
  val iter2 : ('a -> 'b -> unit) -> 'a Seq.t -> 'b Seq.t -> unit
  val fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b Seq.t -> 'c Seq.t -> 'a
  val for_all2 : ('a -> 'b -> bool) -> 'a Seq.t -> 'b Seq.t -> bool
  val exists2 : ('a -> 'b -> bool) -> 'a Seq.t -> 'b Seq.t -> bool
  val equal : ('a -> 'b -> bool) -> 'a Seq.t -> 'b Seq.t -> bool
  val compare : ('a -> 'b -> int) -> 'a Seq.t -> 'b Seq.t -> int
  val empty : 'a Seq.t
  val return : 'a -> 'a Seq.t
  val cons : 'a -> 'a Seq.t -> 'a Seq.t
  val init : int -> (int -> 'a) -> 'a Seq.t
  val unfold : ('b -> ('a * 'b) option) -> 'b -> 'a Seq.t
  val repeat : 'a -> 'a Seq.t
  val forever : (unit -> 'a) -> 'a Seq.t
  val cycle : 'a Seq.t -> 'a Seq.t
  val iterate : ('a -> 'a) -> 'a -> 'a Seq.t
  val map : ('a -> 'b) -> 'a Seq.t -> 'b Seq.t
  val mapi : (int -> 'a -> 'b) -> 'a Seq.t -> 'b Seq.t
  val filter : ('a -> bool) -> 'a Seq.t -> 'a Seq.t
  val filter_map : ('a -> 'b option) -> 'a Seq.t -> 'b Seq.t
  val scan : ('b -> 'a -> 'b) -> 'b -> 'a Seq.t -> 'b Seq.t
  val take : int -> 'a Seq.t -> 'a Seq.t
  val drop : int -> 'a Seq.t -> 'a Seq.t
  val take_while : ('a -> bool) -> 'a Seq.t -> 'a Seq.t
  val drop_while : ('a -> bool) -> 'a Seq.t -> 'a Seq.t
  val group : ('a -> 'a -> bool) -> 'a Seq.t -> 'a Seq.t Seq.t
  val memoize : 'a Seq.t -> 'a Seq.t
  exception Forced_twice
  val once : 'a Seq.t -> 'a Seq.t
  val transpose : 'a Seq.t Seq.t -> 'a Seq.t Seq.t
  val append : 'a Seq.t -> 'a Seq.t -> 'a Seq.t
  val concat : 'a Seq.t Seq.t -> 'a Seq.t
  val flat_map : ('a -> 'b Seq.t) -> 'a Seq.t -> 'b Seq.t
  val concat_map : ('a -> 'b Seq.t) -> 'a Seq.t -> 'b Seq.t
  val zip : 'a Seq.t -> 'b Seq.t -> ('a * 'b) Seq.t
  val map2 : ('a -> 'b -> 'c) -> 'a Seq.t -> 'b Seq.t -> 'c Seq.t
  val interleave : 'a Seq.t -> 'a Seq.t -> 'a Seq.t
  val sorted_merge : ('a -> 'a -> int) -> 'a Seq.t -> 'a Seq.t -> 'a Seq.t
  val product : 'a Seq.t -> 'b Seq.t -> ('a * 'b) Seq.t
  val map_product : ('a -> 'b -> 'c) -> 'a Seq.t -> 'b Seq.t -> 'c Seq.t
  val unzip : ('a * 'b) Seq.t -> 'a Seq.t * 'b Seq.t
  val split : ('a * 'b) Seq.t -> 'a Seq.t * 'b Seq.t
  val partition_map :
    ('a -> ('b, 'c) Stdlib.Either.t) -> 'a Seq.t -> 'b Seq.t * 'c Seq.t
  val partition : ('a -> bool) -> 'a Seq.t -> 'a Seq.t * 'a Seq.t
  val of_dispenser : (unit -> 'a option) -> 'a Seq.t
  val to_dispenser : 'a Seq.t -> unit -> 'a option
  val ints : int -> int Seq.t
end