Module Middle.Fun_kind

Types for function kinds, e.g. StanLib or UserDefined, and function suffix types, e.g. foo_ldfp, bar_lp

type propto =
  1. | Normalized
  2. | Unnormalized
and support =
  1. | Density
  2. | Mass
val compare_propto : propto -> propto -> int
val compare_support : support -> support -> int
val map_propto : propto -> propto
val map_support : support -> support
val sexp_of_propto : propto -> Sexplib0.Sexp.t
val sexp_of_support : support -> Sexplib0.Sexp.t
val equal_propto : propto -> propto -> bool
val equal_support : support -> support -> bool
type suffix =
  1. | FnPlain
  2. | FnRng
  3. | FnDist of support * propto
  4. | FnTarget
  5. | FnJacobian
val compare_suffix : suffix -> suffix -> int
val map_suffix : suffix -> suffix
val sexp_of_suffix : suffix -> Sexplib0.Sexp.t
val equal_suffix : suffix -> suffix -> bool
val compare_no_propto : suffix -> suffix -> int
type 'e t =
  1. | StanLib of string * suffix
  2. | Operator of Operator.t
  3. | CompilerInternal of 'e Internal_fun.t
  4. | UserDefined of string * suffix
val compare : 'e. ('e -> 'e -> int) -> 'e t -> 'e t -> int
val sexp_of_t : 'e. ('e -> Sexplib0.Sexp.t) -> 'e t -> Sexplib0.Sexp.t
val map : ('a -> 'b) -> 'a t -> 'b t
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
val suffix_from_name : string -> suffix
val with_unnormalized_suffix : string -> string option
val pp : 'a Fmt.t -> Stdlib.Format.formatter -> 'a t -> unit
val collect_exprs : 'a t -> 'a list