Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Functor Functor_class.Builder

module Builder : functor (Generator : Pa_deriving_common.Defs.Generator) -> 
  sig..end

Parameters :

Generator:Pa_deriving_common.Defs.Generator

module Helpers : Generator.AstHelpers
type context = {
  argmap: Pa_deriving_common.Type.qname Pa_deriving_common.Type.NameMap.t;  params: Pa_deriving_common.Type.param list;}
val substitute : 
  Pa_deriving_common.Type.name Pa_deriving_common.Type.NameMap.t ->
  Pa_deriving_common.Type.expr -> Pa_deriving_common.Type.expr
val setup_context : Pa_deriving_common.Type.decl -> context
val param_map : 
  context ->
  string Pa_deriving_common.Type.NameMap.t
val wrapper : 
  context ->
  Pa_deriving_common.Type.name ->
  Camlp4.PreCast.Ast.expr -> Camlp4.PreCast.Ast.module_expr
val polycase : 
  context ->
  Pa_deriving_common.Type.tagspec -> Camlp4.PreCast.Ast.match_case
val expr : 
  context ->
  Pa_deriving_common.Type.expr -> Camlp4.PreCast.Ast.expr
val tup : 
  context ->
  Pa_deriving_common.Type.expr list -> Camlp4.PreCast.Ast.expr
val case : 
  context ->
  string * Pa_deriving_common.Type.expr list ->
  Camlp4.PreCast.Ast.match_case
val field : 
  context ->
  string * ('a * Pa_deriving_common.Type.expr) * 'b ->
  Camlp4.PreCast.Ast.expr
val rhs : 
  context ->
  Pa_deriving_common.Type.rhs -> Camlp4.PreCast.Ast.expr
val maptype : 
  context ->
  Pa_deriving_common.Type.name -> Camlp4.PreCast.Ast.ctyp
val signature : 
  context ->
  Pa_deriving_common.Type.name -> Camlp4.PreCast.Ast.sig_item list
val decl : 
  Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
  Pa_deriving_common.Type.rhs *
  Pa_deriving_common.Type.constraint_ list * bool ->
  Camlp4.PreCast.Ast.module_binding
val gen_sig : 
  Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
  Pa_deriving_common.Type.rhs *
  Pa_deriving_common.Type.constraint_ list * bool ->
  Camlp4.PreCast.Ast.sig_item
val generate : 
  (Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
   Pa_deriving_common.Type.rhs *
   Pa_deriving_common.Type.constraint_ list * bool)
  list -> Camlp4.PreCast.Ast.str_item
val generate_sigs : 
  (Pa_deriving_common.Type.name * Pa_deriving_common.Type.param list *
   Pa_deriving_common.Type.rhs *
   Pa_deriving_common.Type.constraint_ list * bool)
  list -> Camlp4.PreCast.Ast.sig_item