diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-08 17:55:51 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-08 17:55:51 -0400 |
commit | b9b67597324deb6e6dfc8ef33c60c110abc2af7b (patch) | |
tree | 2ff5f7417692c2590916a6eeb55aa38bbb47516f /src/core_util.sig | |
parent | e2a9136ed7123cb8e5cac4a20cbce5467643ecd6 (diff) |
Specialization of single-parameter datatypes
Diffstat (limited to 'src/core_util.sig')
-rw-r--r-- | src/core_util.sig | 8 |
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 |