diff options
-rw-r--r-- | sucl/loop.icl | 5 | ||||
-rw-r--r-- | sucl/trace.dcl | 5 | ||||
-rw-r--r-- | sucl/trace.icl | 13 |
3 files changed, 14 insertions, 9 deletions
diff --git a/sucl/loop.icl b/sucl/loop.icl index ef750e5..758b07a 100644 --- a/sucl/loop.icl +++ b/sucl/loop.icl @@ -89,6 +89,9 @@ all the introduced functions from it. */ +/* Disable the new abstraction node + Unsafe subtraces are going to be pruned again. + :: FallibleTrace sym var pvar = GoodTrace (Trace sym var pvar) | NeedAbstraction [Rgraph sym var] @@ -158,8 +161,6 @@ handleredex _ _ _ _ _ _ = undef handlestrict :: (Spine sym var pvar) (Strat sym var pvar) (History sym var) (Rgraph sym var) -> FallibleTrace sym var pvar handlestrict _ _ _ _ = undef -/* - ------------------------------------------------------------ Types diff --git a/sucl/trace.dcl b/sucl/trace.dcl index 6aafc88..8b818f8 100644 --- a/sucl/trace.dcl +++ b/sucl/trace.dcl @@ -162,13 +162,16 @@ Implementation | Stop | Instantiate (Trace sym var pvar) (Trace sym var pvar) + +/* Disable the new abstraction node for now... + | Abstract [Abstraction sym var pvar] :: Abstraction sym var pvar = NewAbstraction (Trace sym var pvar) | KnownAbstraction (Rule sym var) -/* Alternatives for the Abstract constructor: + Alternatives for the Abstract constructor: Abstract [Trace sym var pvar] together with: Backpointer (Trace sym var pvar) diff --git a/sucl/trace.icl b/sucl/trace.icl index f2ff7b3..090f4b2 100644 --- a/sucl/trace.icl +++ b/sucl/trace.icl @@ -129,6 +129,9 @@ Implementation | Stop | Instantiate (Trace sym var pvar) (Trace sym var pvar) + +/* Disable the abstraction node for now... + | Abstract [Abstraction sym var pvar] // Some abstractions (introduced recursion) spawn a fresh subtrace, but others @@ -138,8 +141,6 @@ Implementation = NewAbstraction (Trace sym var pvar) | KnownAbstraction (Rule sym var) -/* - > showtrace showa showb showc (Trace stricts rule answer history transf) > = "(Trace "++ > show (map strictchar stricts)++' ': @@ -236,7 +237,7 @@ foldtrace reduce annotate stop instantiate trace ftf stricts rule answer history (Annotate trace) = annotate stricts rule answer history (ftr trace) ftf stricts rule answer history Stop = stop stricts rule answer history ftf stricts rule answer history (Instantiate yestrace notrace) = instantiate stricts rule answer history (ftr yestrace) (ftr notrace) - ftf _ _ _ _ (Abstract _) = abort "foldtrace not implemented for abstraction nodes" +// ftf _ _ _ _ (Abstract _) = abort "foldtrace not implemented for abstraction nodes" foldtransformation :: ((Trace sym var pvar) -> .result) @@ -256,6 +257,6 @@ foldtransformation ftr reduce annotate stop instantiate abstract knownabstractio ftf (Annotate trace) = annotate (ftr trace) ftf Stop = stop ftf (Instantiate yestrace notrace) = instantiate (ftr yestrace) (ftr notrace) - ftf (Abstract as) = abstract (map fab as) - fab (NewAbstraction t) = newabstraction (ftr t) - fab (KnownAbstraction r) = knownabstraction r +// ftf (Abstract as) = abstract (map fab as) +// fab (NewAbstraction t) = newabstraction (ftr t) +// fab (KnownAbstraction r) = knownabstraction r |