diff --git a/compiler/supercompile/Supercompile/Drive/Split2.hs b/compiler/supercompile/Supercompile/Drive/Split2.hs index 336882cefbbba5770317ce1b193e69264a216af8..e529f22baa8160c07422e1b95f3b25edab7a0728 100644 --- a/compiler/supercompile/Supercompile/Drive/Split2.hs +++ b/compiler/supercompile/Supercompile/Drive/Split2.hs @@ -489,6 +489,7 @@ type PushedValue = Tagged (Coerced (ValueG State)) type PushedQA = Tagged (QAG (ValueG State)) type PushedFocus = PushFocus PushedQA State +-- NB: it is not necessary for the traversal order here to match that in "recurse", even when doing FCFS traversePushedState :: Applicative t => (State -> t State) -> (PushedHeap, PushedStack, PushedFocus) -> t (PushedHeap, PushedStack, PushedFocus) traversePushedState f (heap, stack, focus) = liftA3 (,,) (traversePushedHeap f heap) (traversePushedStack f stack) (traversePushedFocus f focus)