package feat

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module offers a concrete data type 'a enum of enumerations of elements of type 'a. Suppose that every element of type 'a is implicitly assigned a certain size. Then, an enumeration is a function of an integer s to the (implicit, finite) sequence of all elements whose size is s.

include FeatCore.EnumSig.ENUM with module IFSeq = Feat.IFSeq
module IFSeq : sig ... end
type 'a enum = int -> 'a IFSeq.seq
val empty : 'a enum
val zero : 'a enum
val just : 'a -> 'a enum
val enum : 'a IFSeq.seq -> 'a enum
val pay : 'a enum -> 'a enum
val sum : 'a enum -> 'a enum -> 'a enum
val (++) : 'a enum -> 'a enum -> 'a enum
val exists : 'a list -> ('a -> 'b enum) -> 'b enum
val product : 'a enum -> 'b enum -> ('a * 'b) enum
val (**) : 'a enum -> 'b enum -> ('a * 'b) enum
val balanced_product : 'a enum -> 'b enum -> ('a * 'b) enum
val (*-*) : 'a enum -> 'b enum -> ('a * 'b) enum
val map : ('a -> 'b) -> 'a enum -> 'b enum
val finite : 'a list -> 'a enum
val bool : bool enum
val list : 'a enum -> 'a list enum
val dlist : ('env -> 'a list enum) Fix.fix -> ('env -> ('a * 'env) list) -> 'env -> 'a list enum
val sample : int -> 'a enum -> int -> int -> 'a Stdlib.Seq.t -> 'a Stdlib.Seq.t
OCaml

Innovation. Community. Security.