aboutsummaryrefslogtreecommitdiff
path: root/sucl/trace.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'sucl/trace.dcl')
-rw-r--r--sucl/trace.dcl15
1 files changed, 15 insertions, 0 deletions
diff --git a/sucl/trace.dcl b/sucl/trace.dcl
index 1964c66..f271084 100644
--- a/sucl/trace.dcl
+++ b/sucl/trace.dcl
@@ -8,6 +8,7 @@ from rule import Rule
from StdFile import <<<
from StdOverloaded import ==
from StdString import toString
+from cleanversion import String
// Transitive necessities
@@ -249,8 +250,22 @@ Implementation
> (args',root':anchors') = claim args reprs
> reprs = printgraph printa printb graph (args++root:anchors)
> annot strict repr = cond strict ('!':) id (repr++" ")
+*/
+
+printtrace ::
+ sym // LHS function symbol
+ (sym->String) // Symbol representation
+ (var->String) // Variable representation for transformed program
+ (pvar->String) // Variable representation for consulted program
+ String // Indent
+ (Trace sym var pvar) // Trace
+ *File // File before writing
+ -> .File // File after writing
+ | == var
+ & == pvar
+/*
Tips traverses a finite trace and produces the list of rewrite rules
that are found at the leaves of the tree. This list of rewrite rules
precisely constitutes the result of symbolic reduction of the original