diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-08 10:28:32 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-08 10:28:32 -0400 |
commit | baf22271ef6e646c97ddfa1e4193a8857816c67d (patch) | |
tree | 1d34bf6404d3e94e6862c5fedbc4e53ed6bab883 /src/elab_env.sig | |
parent | 51fd5b1af6b2af7706c0c8604129d99e504a2d36 (diff) |
Parametrized datatypes through explify
Diffstat (limited to 'src/elab_env.sig')
-rw-r--r-- | src/elab_env.sig | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/elab_env.sig b/src/elab_env.sig index f341bed2..6f0febcc 100644 --- a/src/elab_env.sig +++ b/src/elab_env.sig @@ -51,13 +51,14 @@ signature ELAB_ENV = sig val lookupC : env -> string -> Elab.kind var - val pushDatatype : env -> int -> (string * int * Elab.con option) list -> env + val pushDatatype : env -> int -> string list -> (string * int * Elab.con option) list -> env type datatyp val lookupDatatype : env -> int -> datatyp val lookupDatatypeConstructor : datatyp -> int -> string * Elab.con option + val datatypeArgs : datatyp -> string list val constructors : datatyp -> (string * int * Elab.con option) list - val lookupConstructor : env -> string -> (Elab.datatype_kind * int * Elab.con option * int) option + val lookupConstructor : env -> string -> (Elab.datatype_kind * int * string list * Elab.con option * int) option val pushERel : env -> string -> Elab.con -> env val lookupERel : env -> int -> string * Elab.con @@ -87,9 +88,9 @@ signature ELAB_ENV = sig val projectCon : env -> { sgn : Elab.sgn, str : Elab.str, field : string } -> (Elab.kind * Elab.con option) option val projectDatatype : env -> { sgn : Elab.sgn, str : Elab.str, field : string } - -> (string * int * Elab.con option) list option + -> (string list * (string * int * Elab.con option) list) option val projectConstructor : env -> { sgn : Elab.sgn, str : Elab.str, field : string } - -> (Elab.datatype_kind * int * Elab.con option * Elab.con) option + -> (Elab.datatype_kind * int * string list * Elab.con option * Elab.con) option val projectVal : env -> { sgn : Elab.sgn, str : Elab.str, field : string } -> Elab.con option val projectSgn : env -> { sgn : Elab.sgn, str : Elab.str, field : string } -> Elab.sgn option val projectStr : env -> { sgn : Elab.sgn, str : Elab.str, field : string } -> Elab.sgn option |