@@ -28,12 +28,13 @@ module EVM.SMT
2828 getStore
2929) where
3030
31- import Prelude hiding (LT , GT )
31+ import Prelude hiding (LT , GT , Foldable ( .. ) )
3232
3333import Control.Monad
3434import Data.Containers.ListUtils (nubOrd , nubInt )
3535import Data.ByteString (ByteString )
3636import Data.ByteString qualified as BS
37+ import Data.Foldable (Foldable (.. ))
3738import Data.List qualified as List
3839import Data.List.NonEmpty (NonEmpty ((:|) ))
3940import Data.List.NonEmpty qualified as NonEmpty
@@ -136,13 +137,13 @@ assertPropsHelper simp psPreConc = do
136137 intermediates <- declareIntermediates bufs stores
137138 readAssumes' <- readAssumes
138139 keccakAssertions' <- keccakAssertions
139- frameCtxs <- (declareFrameContext . nubOrd $ foldl (<>) [] frameCtx)
140- blockCtxs <- (declareBlockContext . nubOrd $ foldl (<>) [] blockCtx)
140+ frameCtxs <- (declareFrameContext . nubOrd $ foldl' (<>) [] frameCtx)
141+ blockCtxs <- (declareBlockContext . nubOrd $ foldl' (<>) [] blockCtx)
141142 pure $ prelude
142143 <> SMT2 (SMTScript (declareAbstractStores abstractStores)) mempty mempty
143144 <> declareConstrainAddrs addresses
144145 <> (declareBufs toDeclarePsElim bufs stores)
145- <> (declareVars . nubOrd $ foldl (<>) [] allVars)
146+ <> (declareVars . nubOrd $ foldl' (<>) [] allVars)
146147 <> frameCtxs
147148 <> blockCtxs
148149 <> SMT2 (SMTScript intermediates) mempty mempty
@@ -271,7 +272,7 @@ findStorageReads p = foldProp go mempty p
271272 baseIsAbstractStore (GVar _) = internalError " Unexpected GVar"
272273
273274findBufferAccess :: TraversableTerm a => [a ] -> [(Expr EWord , Expr EWord , Expr Buf )]
274- findBufferAccess = foldl (foldTerm go) mempty
275+ findBufferAccess = foldl' (foldTerm go) mempty
275276 where
276277 go :: Expr a -> [(Expr EWord , Expr EWord , Expr Buf )]
277278 go = \ case
@@ -309,7 +310,7 @@ discoverMaxReads props benv senv = bufMap
309310 -- we assign a default read hint of 4 to start with in these cases (since in most cases we will need at least 4 bytes to produce a counterexample)
310311 allBufs = Map. fromList . fmap (, Lit 4 ) . fmap toLazyText . nubOrd . concat $ fmap referencedBufs props <> fmap referencedBufs (Map. elems benv) <> fmap referencedBufs (Map. elems senv)
311312
312- bufMap = Map. unionWith Expr. max (foldl addBound mempty allReads) allBufs
313+ bufMap = Map. unionWith Expr. max (foldl' addBound mempty allReads) allBufs
313314
314315 addBound m (idx, size, buf) =
315316 case baseBuf buf of
0 commit comments