sig
val index : 'a -> 'a list -> int
val indexq : 'a -> 'a list -> int
module type ComparableType =
sig
type t
val compare :
ListExtras.ComparableType.t -> ListExtras.ComparableType.t -> int
end
module type S =
sig
type t
val index : ListExtras.S.t -> ListExtras.S.t list -> int
val mem : ListExtras.S.t -> ListExtras.S.t list -> bool
val assoc : ListExtras.S.t -> (ListExtras.S.t * 'a) list -> 'a
val mem_assoc : ListExtras.S.t -> (ListExtras.S.t * 'a) list -> bool
val remove_assoc :
ListExtras.S.t ->
(ListExtras.S.t * 'a) list -> (ListExtras.S.t * 'a) list
end
module Make :
functor (Comp : ComparableType) ->
sig
type t = Comp.t
val index : ListExtras.S.t -> ListExtras.S.t list -> int
val mem : ListExtras.S.t -> ListExtras.S.t list -> bool
val assoc : ListExtras.S.t -> (ListExtras.S.t * 'a) list -> 'a
val mem_assoc : ListExtras.S.t -> (ListExtras.S.t * 'a) list -> bool
val remove_assoc :
ListExtras.S.t ->
(ListExtras.S.t * 'a) list -> (ListExtras.S.t * 'a) list
end
val munge : cmp:('a -> 'a -> int) -> f:('b -> 'a) -> 'b list -> 'b list
val stable_munge :
cmp:('a -> 'a -> int) -> f:('b -> 'a) -> 'b list -> 'b list
val fast_munge :
cmp:('a -> 'a -> int) -> f:('b -> 'a) -> 'b list -> 'b list
val car : 'a list -> 'a
val cdr : 'a list -> 'a list
val cadr : 'a list -> 'a
val cddr : 'a list -> 'a list
val caddr : 'a list -> 'a
val cdddr : 'a list -> 'a list
val cadddr : 'a list -> 'a
val cddddr : 'a list -> 'a list
val tail : 'a list -> int -> 'a list
end