SML# Document Version 4.0.0
26 Standard ML Basis Library

26.16 LIST

This provide primitive functions for the built-in list datatype.

signature LIST =
sig
  type ’a list = ’a list
  exception Empty
  val @ : ’a list * ’a list -> ’a list
  val all : (’a -> bool) -> ’a list -> bool
  val app : (’a -> unit) -> ’a list -> unit
  val collate : (’a * ’a -> order) -> ’a list * ’a list -> order
  val concat : ’a list list -> ’a list
  val drop : ’a list * int -> ’a list
  val exists : (’a -> bool) -> ’a list -> bool
  val filter : (’a -> bool) -> ’a list -> ’a list
  val find : (’a -> bool) -> ’a list -> ’a option
  val foldl : (’a * ’b -> ’b) -> ’b -> ’a list -> ’b
  val foldr : (’a * ’b -> ’b) -> ’b -> ’a list -> ’b
  val getItem : ’a list -> (’a * ’a list) option
  val hd : ’a list -> ’a
  val last : ’a list -> ’a
  val length : ’a list -> int
  val map : (’a -> ’b) -> ’a list -> ’b list
  val mapPartial : (’a -> ’b option) -> ’a list -> ’b list
  val nth : ’a list * int -> ’a
  val null : ’a list -> bool
  val partition : (’a -> bool) -> ’a list -> ’a list * ’a list
  val rev : ’a list -> ’a list
  val revAppend : ’a list * ’a list -> ’a list
  val tabulate : int * (int -> ’a) -> ’a list
  val take : ’a list * int -> ’a list
  val tl : ’a list -> ’a list
end

Structures that implement the signature

  • List : LIST

    type ’a list = ’a list