Module Dune_lang.Encoder

Producing dune lang values from OCaml values

type 'a t = 'a -> Dune_lang__T.t
val unit : unit t
val char : char t
val string : string t
val int : int t
val float : float t
val bool : bool t
val pair : 'a t -> 'b t -> ('a * 'b) t
val triple : 'a t -> 'b t -> 'c t -> ('a * 'b * 'c) t
val list : 'a t -> 'a list t
val array : 'a t -> 'a array t
val option : 'a t -> 'a option t
val sexp : Dune_lang__T.t t
val record : (string * Dune_lang__T.t) list -> Dune_lang__T.t
val constr : string -> 'a t -> 'a t
type field
val field : string -> 'a t -> ?⁠equal:('a -> 'a -> bool) -> ?⁠default:'a -> 'a -> field
val field_o : string -> 'a t -> 'a option -> field
val field_b : string -> bool -> field
val field_l : string -> 'a t -> 'a list -> field

Field with inlined list as value

val field_i : string -> ('a -> Dune_lang__T.t list) -> 'a -> field

Same as field_l but to represent a single value

val record_fields : field list -> Dune_lang__T.t list
val unknown : _ t