diff options
author | zweije | 2001-08-14 13:25:33 +0000 |
---|---|---|
committer | zweije | 2001-08-14 13:25:33 +0000 |
commit | 52acbbf05650d8c5ed6f27b9f4432decf147f943 (patch) | |
tree | 06c00f4e2421890c637cc2c3d24599a76b3c55e5 | |
parent | This commit was generated by cvs2svn to compensate for changes in r630, (diff) |
This commit was generated by cvs2svn to compensate for changes in r632,
which included commits to RCS files with non-trunk default branches.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@633 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r-- | sucl/newfold.icl | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/sucl/newfold.icl b/sucl/newfold.icl index 3357303..f84f710 100644 --- a/sucl/newfold.icl +++ b/sucl/newfold.icl @@ -204,25 +204,25 @@ foldtips :: foldtips foldarea foldcont = ft where ft hist trace - = ft` transf + = case transf + of Stop + -> foldoptional exres (pair True o addstrict stricts) (actualfold deltanodes rnfnodes foldarea (==) foldcont (snd hist) rule) + where deltanodes = foldoptional [] getdeltanodes answer + rnfnodes = foldoptional [ruleroot rule] (const []) answer + Instantiate yestrace notrace + -> ft`` (ft hist yestrace) (ft hist notrace) + where ft`` (False,yessra) (False,nosra) = exres + ft`` (yesfound,(yesstricts,yesrules,yesareas)) (nofound,(nostricts,norules,noareas)) + = (True,(stricts,yesrules++norules,yesareas++noareas)) + Reduce reductroot trace + -> ft`` (ft (fst hist,fst hist) trace) + where ft`` (False,sra) = exres + ft`` (found,sra) = (True,sra) + Annotate trace + -> ft`` (ft hist trace) + where ft`` (False,sra) = exres + ft`` (found,sra) = (True,sra) where (Trace stricts rule answer history transf) = trace - ft` Stop - = foldoptional exres (pair True o addstrict stricts) (actualfold deltanodes rnfnodes foldarea (==) foldcont (snd hist) rule) - where deltanodes = foldoptional [] getdeltanodes answer - rnfnodes = foldoptional [ruleroot rule] (const []) answer - ft` (Instantiate yestrace notrace) - = ft`` (ft hist yestrace) (ft hist notrace) - where ft`` (False,yessra) (False,nosra) = exres - ft`` (yesfound,(yesstricts,yesrules,yesareas)) (nofound,(nostricts,norules,noareas)) - = (True,(stricts,yesrules++norules,yesareas++noareas)) - ft` (Reduce reductroot trace) - = ft`` (ft (fst hist,fst hist) trace) - where ft`` (False,sra) = exres - ft`` (found,sra) = (True,sra) - ft` (Annotate trace) - = ft`` (ft hist trace) - where ft`` (False,sra) = exres - ft`` (found,sra) = (True,sra) exres = (False,newextract noetrc foldarea trace) addstrict stricts (rule,areas) = (stricts,[rule],areas) |