SML# Document Version 4.0.0
26 Standard ML Basis Library

26.17 LIST_PAIR

Provide generic functions for manipulating pair of lists.

signature LIST_PAIR =
sig
  exception UnequalLengths
  val all : (’a * ’b -> bool) -> ’a list * ’b list -> bool
  val allEq : (’a * ’b -> bool) -> ’a list * ’b list -> bool
  val app : (’a * ’b -> unit) -> ’a list * ’b list -> unit
  val appEq : (’a * ’b -> unit) -> ’a list * ’b list -> unit
  val exists : (’a * ’b -> bool) -> ’a list * ’b list -> bool
  val foldl : (’a * ’b * ’c -> ’c) -> ’c -> ’a list * ’b list -> ’c
  val foldlEq : (’a * ’b * ’c -> ’c) -> ’c -> ’a list * ’b list -> ’c
  val foldr : (’a * ’b * ’c -> ’c) -> ’c -> ’a list * ’b list -> ’c
  val foldrEq : (’a * ’b * ’c -> ’c) -> ’c -> ’a list * ’b list -> ’c
  val map : (’a * ’b -> ’c) -> ’a list * ’b list -> ’c list
  val mapEq : (’a * ’b -> ’c) -> ’a list * ’b list -> ’c list
  val unzip : (’a * ’b) list -> ’a list * ’b list
  val zip : ’a list * ’b list -> (’a * ’b) list
  val zipEq : ’a list * ’b list -> (’a * ’b) list
end

Structures that implement the signature

  • ListPair : LIST_PAIR