summaryrefslogtreecommitdiff
path: root/src/elaborate.sig
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2020-01-15 12:07:44 -0500
committerGravatar GitHub <noreply@github.com>2020-01-15 12:07:44 -0500
commit5cce43a484bdde0053820b8ae408bcba830b25ba (patch)
tree9d5719046e082337e3ed057e6a495db3faca2c8a /src/elaborate.sig
parent11bf1e86020f99893cd987eb1a15952e517248cf (diff)
parent483115ee395c26ba7b52ac84757c8a1de4fe2d33 (diff)
Merge pull request #186 from FrigoEU/lsp
Language Server Protocol (LSP)
Diffstat (limited to 'src/elaborate.sig')
-rw-r--r--src/elaborate.sig25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/elaborate.sig b/src/elaborate.sig
index d60cff42..d6747241 100644
--- a/src/elaborate.sig
+++ b/src/elaborate.sig
@@ -29,7 +29,10 @@ signature ELABORATE = sig
val elabFile : Source.sgn_item list -> Time.time
-> Source.decl list -> Source.sgn_item list -> Time.time
- -> ElabEnv.env -> Source.file -> Elab.file
+ -> ElabEnv.env
+ -> (ElabEnv.env -> ElabEnv.env) (* Adapt env after stdlib but before elaborate *)
+ -> Source.file
+ -> Elab.file
val resolveClass : ElabEnv.env -> Elab.con -> Elab.exp option
@@ -47,4 +50,24 @@ signature ELABORATE = sig
val incremental : bool ref
val verbose : bool ref
+ val dopen: ElabEnv.env
+ -> { str: int
+ , strs: string list
+ , sgn: Elab.sgn }
+ -> (Elab.decl list * ElabEnv.env)
+
+ val elabSgn: (ElabEnv.env * Disjoint.env)
+ -> Source.sgn
+ -> (Elab.sgn * Disjoint.goal list)
+
+ datatype constraint =
+ Disjoint of Disjoint.goal
+ | TypeClass of ElabEnv.env * Elab.con * Elab.exp option ref * ErrorMsg.span
+
+ val elabStr: (ElabEnv.env * Disjoint.env)
+ -> Source.str
+ -> (Elab.str * Elab.sgn * constraint list)
+
+ val subSgn: ElabEnv.env -> ErrorMsg.span -> Elab.sgn -> Elab.sgn -> unit
+
end