SML# Document Version 3.7.1
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