summaryrefslogtreecommitdiff
path: root/src/core_util.sig
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-08 17:55:51 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-08 17:55:51 -0400
commitb9b67597324deb6e6dfc8ef33c60c110abc2af7b (patch)
tree2ff5f7417692c2590916a6eeb55aa38bbb47516f /src/core_util.sig
parente2a9136ed7123cb8e5cac4a20cbce5467643ecd6 (diff)
Specialization of single-parameter datatypes
Diffstat (limited to 'src/core_util.sig')
-rw-r--r--src/core_util.sig8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core_util.sig b/src/core_util.sig
index ebfcf54b..aa957794 100644
--- a/src/core_util.sig
+++ b/src/core_util.sig
@@ -30,6 +30,8 @@ signature CORE_UTIL = sig
val classifyDatatype : (string * int * Core.con option) list -> Core.datatype_kind
structure Kind : sig
+ val compare : Core.kind * Core.kind -> order
+
val mapfold : (Core.kind', 'state, 'abort) Search.mapfolder
-> (Core.kind, 'state, 'abort) Search.mapfolder
val map : (Core.kind' -> Core.kind') -> Core.kind -> Core.kind
@@ -37,6 +39,8 @@ structure Kind : sig
end
structure Con : sig
+ val compare : Core.con * Core.con -> order
+
datatype binder =
Rel of string * Core.kind
| Named of string * int * Core.kind * Core.con option
@@ -64,6 +68,10 @@ structure Con : sig
val exists : {kind : Core.kind' -> bool,
con : Core.con' -> bool} -> Core.con -> bool
+
+ val foldMap : {kind : Core.kind' * 'state -> Core.kind' * 'state,
+ con : Core.con' * 'state -> Core.con' * 'state}
+ -> 'state -> Core.con -> Core.con * 'state
end
structure Exp : sig