aboutsummaryrefslogtreecommitdiff
path: root/sucl/rule.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'sucl/rule.dcl')
-rw-r--r--sucl/rule.dcl11
1 files changed, 7 insertions, 4 deletions
diff --git a/sucl/rule.dcl b/sucl/rule.dcl
index f66ca6e..e7b408c 100644
--- a/sucl/rule.dcl
+++ b/sucl/rule.dcl
@@ -3,6 +3,7 @@ definition module rule
// $Id$
from graph import Graph,Node
+from StdOverloaded import ==
// --- Exported types
@@ -29,16 +30,18 @@ rulegraph :: !(Rule .sym .var) -> Graph .sym .var
emptyrgraph :: .var -> Rgraph .sym .var
// Update the contents of a variable in a rooted graph
-updatergraph :: .var (Node .sym .var) !(Rgraph .sym .var) -> Rgraph .sym .var
+updatergraph :: var .(Node sym var) !.(Rgraph sym var) -> .Rgraph sym var
// Prune a rooted graph at a variable (making it free)
-prunergraph :: .var !(Rgraph .sym .var) -> Rgraph .sym .var
+prunergraph :: var !.(Rgraph sym var) -> .Rgraph sym var
// Get the root of a rooted graph
-rgraphroot :: !(Rgraph .sym .var) -> .var
+rgraphroot :: !.(Rgraph sym var) -> var
// Get the graph part of a rooted graph
-rgraphgraph :: !(Rgraph .sym .var) -> Graph .sym .var
+rgraphgraph :: !.(Rgraph sym var) -> Graph sym var
// Build a rooted graph from a root and a graph
mkrgraph :: .var (Graph .sym .var) -> Rgraph .sym .var
+
+instance == (Rgraph sym var) | == sym & == var