aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/elab_env.sig
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-24 15:49:30 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-24 15:49:30 -0400
commita579d98b69649309caaf6315910813aba36fe905 (patch)
tree115627f9af3bafbad40cf823df9f1db5c8e270e2 /src/elab_env.sig
parent92af3391b64df0a2082006c39ed1335dd1bf7256 (diff)
Basic datatype importing works
Diffstat (limited to 'src/elab_env.sig')
-rw-r--r--src/elab_env.sig8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/elab_env.sig b/src/elab_env.sig
index 83490b69..4bc480cc 100644
--- a/src/elab_env.sig
+++ b/src/elab_env.sig
@@ -51,6 +51,12 @@ signature ELAB_ENV = sig
val lookupC : env -> string -> Elab.kind var
+ val pushDatatype : env -> int -> (string * int * Elab.con option) list -> env
+ type datatyp
+ val lookupDatatype : env -> int -> datatyp
+ val lookupConstructor : datatyp -> int -> string * Elab.con option
+ val constructors : datatyp -> (string * int * Elab.con option) list
+
val pushERel : env -> string -> Elab.con -> env
val lookupERel : env -> int -> string * Elab.con
@@ -78,6 +84,8 @@ signature ELAB_ENV = sig
val hnormSgn : env -> Elab.sgn -> Elab.sgn
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
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