Module Middle.Internal_fun

Language functions defined internally by the compiler

type 'expr t =
  1. | FnLength
  2. | FnMakeArray
  3. | FnMakeTuple
  4. | FnMakeRowVec
  5. | FnNegInf
  6. | FnReadData
  7. | FnReadDeserializer
  8. | FnReadParam of {
    1. constrain : 'expr Transformation.t;
    2. dims : 'expr list;
    3. mem_pattern : Mem_pattern.t;
    }
  9. | FnWriteParam of {
    1. unconstrain_opt : 'expr Transformation.t option;
    2. var : 'expr;
    }
  10. | FnValidateSize
  11. | FnValidateSizeSimplex
  12. | FnValidateSizeUnitVector
  13. | FnCheck of {
    1. trans : 'expr Transformation.t;
    2. var_name : string;
    3. var : 'expr;
    }
  14. | FnPrint
  15. | FnReject
  16. | FnFatalError
  17. | FnResizeToMatch
  18. | FnNaN
  19. | FnDeepCopy
  20. | FnReadWriteEventsOpenCL of string
val map : ('a -> 'b) -> 'a t -> 'b t
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
val t_of_sexp : 'expr. (Sexplib0.Sexp.t -> 'expr) -> Sexplib0.Sexp.t -> 'expr t
val sexp_of_t : 'expr. ('expr -> Sexplib0.Sexp.t) -> 'expr t -> Sexplib0.Sexp.t
val hash_fold_t : 'expr. (Ppx_hash_lib.Std.Hash.state -> 'expr -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> 'expr t -> Ppx_hash_lib.Std.Hash.state
val compare : 'expr. ('expr -> 'expr -> Core__.Import.int) -> 'expr t -> 'expr t -> Core__.Import.int
val to_string : ?expr_to_string:('a -> Sexplib0.Sexp.t) -> 'a t -> string
val pp : 'a Fmt.t -> Stdlib.Format.formatter -> 'a t -> unit
val can_side_effect : 'a t -> bool
val collect_exprs : 'a t -> 'a list