File: base.mli

package info (click to toggle)
ocaml-deriving-ocsigen 0.6.2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 628 kB
  • ctags: 1,159
  • sloc: ml: 6,334; makefile: 63; sh: 18
file content (42 lines) | stat: -rw-r--r-- 1,214 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
(* Copyright Jeremy Yallop 2007.
   Copyright Grégoire Henry 2011.
   This file is free software, distributed under the MIT license.
   See the file COPYING for details.
*)

exception Underivable of string
exception NoSuchClass of string

open Camlp4.PreCast

val fatal_error : Loc.t -> string -> 'a
val display_errors : Loc.t -> ('a -> 'b) -> 'a -> 'b

open Defs

val derive_str : Loc.t -> Type.decl list -> generator -> Ast.str_item
val derive_sig : Loc.t -> Type.decl list -> generator -> Ast.sig_item

module RegisterClass(Desc : ClassDescription)(MakeClass : ClassBuilder) : sig
  val register_predefs : Type.qname -> Type.qname -> unit
end

module RegisterFullClass(Desc : ClassDescription)(MakeClass : FullBuilder) : sig
  val depends : (module DepClassBuilder)
  val register_predefs : Type.qname -> Type.qname -> unit
end

val is_registered : Type.name -> bool
val add_register_hook:
  ((module ClassDescription) -> generator -> unit) -> unit

val find : Type.name -> generator

(**/**)

module Register(Desc : ClassDescription)(MakeClass : InnerClassBuilder) : sig
  (* Side effects only *)
end

module Generator(Loc : Loc)(Desc : ClassDescription) : Generator
module AstHelpers(Loc : Loc) : AstHelpers