@@ -584,16 +584,6 @@ unsizedStep maxSize recursionTest fullStep handleOther =
584584 UnsizedEE (SizeStageF smb x) -> unsizedEE $ SizeStageF (smb <> sm) x
585585 x -> unsizedEE $ SizeStageF sm x
586586 in \ case
587- UnsizedFW (SizingWrapperF _ tok (BasicEE (PairSF d (BasicEE (PairSF b (BasicEE (PairSF r (BasicEE (PairSF tp (BasicEE ZeroSF ))))))))))
588- -> case tp of
589- BasicEE (PairSF (StuckEE (DeferSF sid tf)) e) ->
590- let nt = pairB (stuckEE . DeferSF sid . unsizedEE $ RecursionTestF tok tf) e
591- trb = pairB b (pairB r (pairB nt zeroB))
592- -- \t r b i ->
593- rf = lamB unsizedStepMrfa (iteB (appB argFourB argOneB)
594- (appB (appB argThreeB (unsizedEE $ SizeStepStubF tok 1 envB)) argOneB)
595- (unsizedEE . SizeStageF (SizedRecursion . Map. singleton tok $ pure 1 ) $ appB argTwoB argOneB))
596- in pairB (deferB unsizedStepMw rf) trb
597587 UnsizedFW (SizeStepStubF tok n (BasicEE (PairSF _ e))) -> -- id -- debugTrace ("hit sizestepstub with " <> show n <> "\nand env of\n" <> prettyPrint e)
598588 pairB (deferB unsizedStepMrfa (unsizedEE . SizeStageF (SizedRecursion . Map. singleton tok $ pure (n + 1 )) $ iteB (appB argFourB argOneB)
599589 (appB (appB argThreeB (unsizedEE $ SizeStepStubF tok (n + 1 ) envB)) argOneB)
@@ -615,28 +605,6 @@ unsizedStepM :: forall a f t m. (Base a ~ f, Traversable f, BasicBase f, StuckBa
615605 -> (f a -> t m a ) -> f a -> t m a
616606unsizedStepM maxSize recursionTest handleOther x = f x where
617607 f = \ case
618- UnsizedFW (SizingWrapperF _ tok (BasicEE (PairSF d (BasicEE (PairSF b (BasicEE (PairSF r (BasicEE (PairSF tp (BasicEE ZeroSF ))))))))))
619- -> case tp of
620- BasicEE (PairSF (StuckEE (DeferSF sid tf)) e) ->
621- let nt = pairB (stuckEE . DeferSF sid . unsizedEE $ RecursionTestF tok tf) e
622- trb = pairB b (pairB r (pairB nt zeroB))
623- argOne = leftB envB
624- argTwo = leftB (rightB envB)
625- argThree = leftB (rightB (rightB envB))
626- argFour = leftB (rightB (rightB (rightB envB)))
627- argFive = leftB (rightB (rightB (rightB (rightB envB))))
628- iteB i t e = fillFunction (fillFunction (gateB (deferB unsizedStepMEInd e) (deferB unsizedStepMTInd t)) i) envB -- TODO THIS IS HOW TO DO LAZY IF/ELSE, COPY!
629- abrt = lamB unsizedStepMa . abortEE . AbortedF $ AbortRecursion (i2g (fromEnum tok))
630- rf n = lamB unsizedStepMrfb (lamB unsizedStepMrfa (iteB (appB argFive argOne)
631- (appB (appB argFour argTwo) argOne)
632- (unsizedEE . SizeStageF (SizedRecursion . Map. singleton tok $ pure n)
633- $ appB argThree argOne)))
634- -- rf' n = appB (rf n) (rf' (n + 1))
635- rf' n = if n > maxSize
636- -- then error "reached recursion limit"
637- then abrt
638- else appB (rf n) (rf' (n + 1 ))
639- in pure $ pairB (deferB unsizedStepMw $ rf' 1 ) trb
640608 UnsizedFW (RecursionTestF ri x) -> pure $ recursionTest ri x
641609 -- UnsizedFW (SizeStageF urt n x) -> debugTrace ("unsizedStepM hit size of " <> show (urt, n)) StrictAccum (SizedRecursion $ Map.singleton urt n) x
642610 UnsizedFW (SizeStageF sr x) -> lift $ StrictAccum sr x
@@ -646,7 +614,6 @@ unsizedStepM maxSize recursionTest handleOther x = f x where
646614
647615forceSizes :: Int -> UnsizedExpr -> UnsizedExpr
648616forceSizes n = cata $ \ case
649- UnsizedFW (SizingWrapperF _ _ sx) -> sx
650617 UnsizedFW (UnsizedStubF _ _) -> iterate (basicEE . SetEnvSF ) envB !! n
651618 x -> embed x
652619
@@ -655,29 +622,6 @@ unsizedStepM' :: forall a f t m. (Base a ~ f, Traversable f, BasicBase f, StuckB
655622 => Int -> Set Integer -> (UnsizedRecursionToken -> a -> a ) -> (f a -> t m a ) -> f a -> t m a
656623unsizedStepM' maxSize zeros recursionTest handleOther x = f x where
657624 f = \ case
658- UnsizedFW (SizingWrapperF _ tok uwe@ (BasicEE (PairSF d (BasicEE (PairSF b (BasicEE (PairSF r (BasicEE (PairSF tp (BasicEE ZeroSF ))))))))))
659- -> case tp of
660- BasicEE (PairSF (StuckEE (DeferSF sid tf)) e) ->
661- let nt = pairB (stuckEE . DeferSF sid . unsizedEE $ RecursionTestF tok tf) e
662- trb = pairB b (pairB r (pairB nt zeroB))
663- argOne = leftB envB
664- argTwo = leftB (rightB envB)
665- argThree = leftB (rightB (rightB envB))
666- argFour = leftB (rightB (rightB (rightB envB)))
667- argFive = leftB (rightB (rightB (rightB (rightB envB))))
668- iteB i t e = fillFunction (fillFunction (gateB (deferB unsizedStepMEInd e) (deferB unsizedStepMTInd t)) i) envB -- TODO THIS IS HOW TO DO LAZY IF/ELSE, COPY!
669- abrt = lamB unsizedStepMa . abortEE . AbortedF $ AbortRecursion (i2g (fromEnum tok))
670- rf n = lamB unsizedStepMrfb (lamB unsizedStepMrfa (iteB (appB argFive argOne)
671- (appB (appB argFour argTwo) argOne)
672- (unsizedEE . SizeStageF (SizedRecursion . Map. singleton tok $ pure n)
673- $ appB argThree argOne)))
674- -- rf' n = appB (rf n) (rf' (n + 1))
675- rf' n = if n > maxSize
676- -- then error "reached recursion limit"
677- then abrt
678- else appB (rf n) (rf' (n + 1 ))
679- dbt = id
680- in pure . dbt $ pairB (deferB unsizedStepMw $ rf' 1 ) trb
681625 UnsizedFW (RecursionTestF ri x) -> pure $ recursionTest ri x
682626 -- UnsizedFW (SizeStageF urt n x) -> debugTrace ("unsizedStepM hit size of " <> show (urt, n)) StrictAccum (SizedRecursion $ Map.singleton urt n) x
683627 UnsizedFW (SizeStageF sr x) -> lift $ StrictAccum sr x
@@ -706,7 +650,6 @@ unsizedStepM''' maxSize zeros recursionTest handleOther x = f x where
706650 argT2One = leftB . unsizedEE $ TraceF " env inside unwrapped sizing wrapper" envB
707651 -- argT2One = leftB envB
708652 f = \ case
709- UnsizedFW (SizingWrapperF _ _ x) -> pure x
710653 UnsizedFW (UnsizedStubF tok (BasicEE (PairSF _ (BasicEE (PairSF _ (BasicEE (PairSF _ (BasicEE (PairSF _ env))))))))) -> case env of
711654 BasicEE (PairSF b (BasicEE (PairSF r (BasicEE (PairSF tp (BasicEE ZeroSF )))))) -> case tp of
712655 BasicEE (PairSF (StuckEE (DeferSF sid tf)) e) ->
@@ -1047,7 +990,6 @@ term3ToUnsizedExpr maxSize (Term3 termMap) =
1047990 LeftFrag x -> basicEE . LeftSF $ f x
1048991 RightFrag x -> basicEE . RightSF $ f x
1049992 TraceFrag -> unsizedEE . TraceF " from Term3" $ basicEE EnvSF
1050- AuxFrag (SizingWrapper loc tok (FragExprUR x)) -> unsizedEE . SizingWrapperF loc tok . f $ forget x
1051993 AuxFrag (NestedSetEnvs t) -> unsizedEE . UnsizedStubF t . embed $ embedB EnvSF
1052994 AuxFrag (CheckingWrapper loc (FragExprUR tc) (FragExprUR c)) -> unsizedEE $ RefinementWrapperF loc (f $ forget tc) (f $ forget c)
1053995 in f . forget . unFragExprUR $ rootFrag termMap
@@ -1057,7 +999,6 @@ term3ToUnsizedExpr maxSize (Term3 termMap) =
1057999getInputLimits :: UnsizedExpr -> Set Integer
10581000getInputLimits = getAccum . transformNoDeferM evalStep . convertIS where
10591001 convertU = \ case
1060- UnsizedFW (SizingWrapperF _ _ _) -> indexedEE AnyF
10611002 UnsizedFW (UnsizedStubF _ _) -> indexedEE AnyF
10621003 UnsizedFW (RecursionTestF _ x) -> x
10631004 UnsizedFW rw@ (RefinementWrapperF _ _ _) -> unsizedEE rw
@@ -1110,16 +1051,12 @@ sizeTerm maxSize x = tidyUp . foldAborted . debugResult . transformNoDefer evalS
11101051 tracePartialSizes = id
11111052 setSizes :: Map UnsizedRecursionToken (Maybe Int ) -> UnsizedExpr -> UnsizedExpr
11121053 setSizes sizeMap = cata $ \ case
1113- UnsizedFW sw@ (SizingWrapperF loc tok sx) -> sx
11141054 UnsizedFW us@ (UnsizedStubF tok _) -> tracePartialSizes $ case Map. lookup tok sizeMap of
11151055 Just (Just n) -> debugTrace (" sizeTerm setting size: " <> show (tok, n)) iterate (basicEE . SetEnvSF ) (basicEE EnvSF ) !! n
11161056 _ -> basicEE . SetEnvSF $ basicEE EnvSF
11171057 x -> embed x
11181058 setSomeSizes :: Map UnsizedRecursionToken (Maybe Int ) -> InputSizingExpr -> InputSizingExpr
11191059 setSomeSizes sizeMap = cata $ \ case
1120- UnsizedFW sw@ (SizingWrapperF loc tok sx) -> case Map. lookup tok sizeMap of
1121- Just (Just _) -> sx
1122- _ -> embed $ embedU sw
11231060 UnsizedFW us@ (UnsizedStubF tok _) -> tracePartialSizes $ case Map. lookup tok sizeMap of
11241061 Just (Just n) -> iterate (basicEE . SetEnvSF ) (basicEE EnvSF ) !! n
11251062 _ -> embed $ embedU us
@@ -1180,7 +1117,6 @@ sizeTermM maxSize doCap x = tidyUp . ($ []) . runReaderT . transformNoDeferM eva
11801117 clean = cata (convertBasic (convertStuck (convertAbort failConvert)))
11811118 setSizes :: Map UnsizedRecursionToken (Maybe Int ) -> UnsizedExpr -> UnsizedExpr
11821119 setSizes sizeMap = cata $ \ case
1183- UnsizedFW sw@ (SizingWrapperF loc tok sx) -> sx
11841120 UnsizedFW us@ (UnsizedStubF tok _) -> case Map. lookup tok sizeMap of
11851121 Just (Just n) -> trace (" sizeTermM setting size: " <> show (tok, n)) iterate (basicEE . SetEnvSF ) envB !! (n + 1 )
11861122 _ -> trace (" no size found for " <> show tok) setEnvB $ leftB envB
@@ -1233,7 +1169,6 @@ abortPossibilities maxSize x = tidyUp . ($ []) . runReaderT . transformNoDeferM
12331169 clean = cata (convertBasic (convertStuck (convertAbort failConvert)))
12341170 setSizes :: Map UnsizedRecursionToken (Maybe Int ) -> UnsizedExpr -> UnsizedExpr
12351171 setSizes sizeMap = cata $ \ case
1236- UnsizedFW sw@ (SizingWrapperF loc tok sx) -> sx
12371172 UnsizedFW us@ (UnsizedStubF tok _) -> case Map. lookup tok sizeMap of
12381173 Just (Just n) -> debugTrace (" abortPossibilities setting size: " <> show (tok, n)) iterate (basicEE . SetEnvSF ) (basicEE EnvSF ) !! n
12391174 _ -> basicEE . SetEnvSF $ basicEE EnvSF
@@ -1282,12 +1217,6 @@ getSizesM maxSize x = tidyUp . ($ []) . runReaderT . transformNoDeferM evalStep
12821217 -- evalStep = basicStepM (stuckStepDebugM (abortStepM (indexedAbortStepM (indexedInputStepM zeros (indexedSuperStepM (superStepM' gateResult evalStep (superAbortStepM evalStep (unsizedStepM''' maxSize zeros unsizedTest unhandledError))))))))
12831218 evalStep = basicStepM (stuckStepWithTrace (abortStepM (indexedAbortStepM (indexedInputStepM zeros (indexedSuperStepM (superStepM gateResult evalStep (superAbortStepM evalStep (unsizedStepM''' maxSize zeros unsizedTest' failAndPrintStack))))))))
12841219
1285- buildUnsizedLocMap :: UnsizedExpr -> Map UnsizedRecursionToken LocTag
1286- buildUnsizedLocMap = cata f where
1287- f = \ case
1288- UnsizedFW (SizingWrapperF loc tok x) -> x <> Map. singleton tok loc
1289- x -> Data.Foldable. fold x
1290-
12911220removeRefinementWrappers :: (Base g ~ f , BasicBase f , StuckBase f , AbortBase f , UnsizedBase f , Recursive g , Corecursive g ) => g -> g
12921221removeRefinementWrappers = cata f where
12931222 f = \ case
@@ -1322,7 +1251,6 @@ regularEval = transformNoDefer f . cata ss where
13221251 let innerTC = appB (leftB envB) (rightB envB)
13231252 performTC = deferB removeRefinementWrappersTC . setEnvB $ pairB (setEnvB $ pairB (abortEE AbortF ) innerTC) (rightB envB)
13241253 in setEnvB $ pairB performTC (pairB tc c)
1325- UnsizedFW (SizingWrapperF _ _ x) -> x
13261254 UnsizedFW (UnsizedStubF _ _) -> iterate setEnvB envB !! 255
13271255 x -> embed x
13281256 -- z -> error ("regularEval unhandled case\n" <> prettyPrint (embed z))
0 commit comments