/[svn]/typing/typer.mli
ViewVC logotype

Contents of /typing/typer.mli

Parent Directory Parent Directory | Revision Log Revision Log


Revision 862 - (hide annotations)
Tue Jul 10 18:07:54 2007 UTC (5 years, 10 months ago) by abate
File size: 2251 byte(s)
[r2003-11-28 11:18:14 by szach] better error message while referencing an unregistered schema

Original author: szach
Date: 2003-11-28 11:18:14+00:00
1 abate 233 open Ident
2 abate 691 open Location
3 abate 233
4 abate 9 exception NonExhaustive of Types.descr
5 abate 421 exception Constraint of Types.descr * Types.descr
6 abate 19 exception ShouldHave of Types.descr * string
7 abate 233 exception WrongLabel of Types.descr * label
8 abate 656 exception UnboundId of id * bool
9 abate 355 exception ShouldHave2 of Types.descr * string * Types.descr
10 abate 421 exception Error of string
11 abate 691 val warning: loc -> string -> unit
12     val error: loc -> string -> 'a
13 abate 5
14 abate 691 include Custom.T
15 abate 677
16 abate 713 val from_comp_unit: (Types.CompUnit.t -> t) ref
17    
18 abate 691 val empty_env: t
19     val get_ns_table : t -> Ns.table
20 abate 542
21 abate 691 val enter_ns : U.t -> Ns.t -> t -> t
22 abate 713 val enter_cu : U.t -> Types.CompUnit.t -> t -> t
23 abate 421
24 abate 691 val enter_value: id -> Types.t -> t -> t
25     val enter_values: (id * Types.t) list -> t -> t
26     val find_value: id -> t -> Types.t
27 abate 695 val iter_values: t -> (id -> Types.t -> unit) -> unit
28 abate 553
29 abate 691 val enter_type: id -> Types.t -> t -> t
30     val enter_types: (id * Types.t) list -> t -> t
31     val find_type: id -> t -> Types.t
32 abate 6
33 abate 691 val type_defs: t -> (id * Ast.ppat) list -> (id * Types.t) list
34     val typ: t -> Ast.ppat -> Types.Node.t
35     val pat: t -> Ast.ppat -> Patterns.node
36 abate 529
37 abate 691 val dump_types: Format.formatter -> t -> unit
38 abate 812 val dump_type: Format.formatter -> t -> U.t -> unit
39 abate 786 val dump_schema_type:
40 abate 812 Format.formatter -> (Schema_types.component_kind * U.t * U.t) -> unit
41 abate 686
42 abate 691 val dump_ns: Format.formatter -> t -> unit
43     val set_ns_table_for_printer: t -> unit
44    
45 abate 698 val type_expr:
46     t -> Ast.pexpr -> Typed.texpr * Types.descr
47 abate 691
48 abate 698 val type_let_decl: t -> Ast.ppat -> Ast.pexpr ->
49     t * Typed.let_decl * (id * Types.t) list
50    
51     val type_let_funs: t -> Ast.pexpr list ->
52     t * Typed.texpr list * (id * Types.t) list
53 abate 421 (* Assume that all the expressions are Abstractions *)
54 abate 314
55 abate 421
56 abate 698
57    
58 abate 691 val flatten: loc ->
59 abate 686 (Types.t -> bool -> Types.t) -> (Types.t -> bool -> Types.t)
60 abate 431
61 abate 756 (** {2 Schema stuff} *)
62 abate 431
63 abate 812 val register_schema: U.t -> Schema_types.schema -> unit
64 abate 862 val is_registered_schema: U.t -> bool
65 abate 812 val get_schema: U.t -> Schema_types.schema (** lookup schema by name *)
66     val get_schema_names: unit -> U.t list (** registered schema names *)
67 abate 431
68 abate 542 (* Operators *)
69    
70 abate 691 type type_fun = Types.t -> bool -> Types.t
71     val mk_unary_op: (string -> t -> int) ref
72     val typ_unary_op: (int -> loc -> type_fun -> type_fun) ref
73 abate 542
74 abate 691 val mk_binary_op: (string -> t -> int) ref
75     val typ_binary_op: (int -> loc -> type_fun -> type_fun -> type_fun) ref
76    

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5