Generate Eliom forms content from runtime type representations
Runtime type representation is generated by deriving-typerepr, as we are waiting for the native implementation in OCaml :-) Then, it's easy:
type my = A of int option * string | B deriving (Typerepr, Json)
let service =
App.register_post_coservice'
~post_params:(Eliom_parameter.caml "arg" Json.t<my>)
(fun () my -> ...)
let form =
let open Eliom_content.Html5.F in
get_form ~service
(fun name -> [
Eliom_form_generator.content Typerepr.t<my> name;
button ~button_type:`Submit [pcdata "ok"];
])