Skip to content

Commit 6b439ed

Browse files
authored
Prelude.Kore: Export Foldable and Traversable (#2238)
1 parent 6833ba1 commit 6b439ed

File tree

117 files changed

+259
-432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+259
-432
lines changed

kore/app/exec/Main.hs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import Control.Monad.Extra as Monad
1414
import Data.Default
1515
( def
1616
)
17-
import qualified Data.Foldable as Foldable
1817
import Data.Generics.Product
1918
( field
2019
)
@@ -493,7 +492,7 @@ writeKoreProveFiles reportFile koreProveOptions = do
493492
let KoreProveOptions { specFileName } = koreProveOptions
494493
copyFile specFileName (reportFile </> "spec.kore")
495494
let KoreProveOptions { saveProofs } = koreProveOptions
496-
Foldable.for_ saveProofs $ \filePath ->
495+
for_ saveProofs $ \filePath ->
497496
Monad.whenM
498497
(doesFileExist filePath)
499498
(copyFile filePath (reportFile </> "save-proofs.kore"))
@@ -520,14 +519,14 @@ writeOptionsAndKoreFiles
520519
setPermissions shellScript $ allPermissions emptyPermissions
521520
copyFile definitionFileName
522521
(reportDirectory </> defaultDefinitionFilePath opts)
523-
Foldable.for_ patternFileName
522+
for_ patternFileName
524523
$ flip copyFile (reportDirectory </> "pgm.kore")
525524
writeKoreSolverFiles koreSolverOptions reportDirectory
526-
Foldable.for_ koreSearchOptions
525+
for_ koreSearchOptions
527526
(writeKoreSearchFiles reportDirectory)
528-
Foldable.for_ koreMergeOptions
527+
for_ koreMergeOptions
529528
(writeKoreMergeFiles reportDirectory)
530-
Foldable.for_ koreProveOptions
529+
for_ koreProveOptions
531530
(writeKoreProveFiles reportDirectory)
532531

533532
exeName :: ExeName
@@ -548,7 +547,7 @@ main = do
548547
(Just envName)
549548
(parseKoreExecOptions startTime)
550549
parserInfoModifiers
551-
Foldable.for_ (localOptions options) mainWithOptions
550+
for_ (localOptions options) mainWithOptions
552551

553552
mainWithOptions :: KoreExecOptions -> IO ()
554553
mainWithOptions execOptions = do
@@ -562,7 +561,7 @@ mainWithOptions execOptions = do
562561
& handle handleSomeException
563562
& runKoreLog tmpDir koreLogOptions
564563
let KoreExecOptions { rtsStatistics } = execOptions
565-
Foldable.for_ rtsStatistics $ \filePath ->
564+
for_ rtsStatistics $ \filePath ->
566565
writeStats filePath =<< getStats
567566
exitWith exitCode
568567
where
@@ -675,7 +674,7 @@ koreProve execOptions proveOptions = do
675674
OrPattern.fromPatterns (MultiAnd.map getStuckConfig stuckClaims)
676675
getStuckConfig =
677676
getRewritingPattern . getConfiguration . getStuckClaim
678-
lift $ Foldable.for_ saveProofs $ saveProven specModule provenClaims
677+
lift $ for_ saveProofs $ saveProven specModule provenClaims
679678
lift $ renderResult execOptions (unparse final)
680679
return exitCode
681680
where
@@ -704,7 +703,7 @@ koreProve execOptions proveOptions = do
704703
-> MultiAnd SomeClaim
705704
-> FilePath
706705
-> IO ()
707-
saveProven specModule (Foldable.toList -> provenClaims) outputFile =
706+
saveProven specModule (toList -> provenClaims) outputFile =
708707
withFile outputFile WriteMode
709708
(`hPutDoc` unparse provenDefinition)
710709
where

kore/src/Debug.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import Data.ByteString
2727
( ByteString
2828
)
2929
import qualified Data.Char as Char
30-
import qualified Data.Foldable as Foldable
3130
import Data.Functor.Const
3231
( Const
3332
)
@@ -341,7 +340,7 @@ instance Debug a => Debug (Set a) where
341340
instance Debug a => Debug (Seq a) where
342341
debugPrec as precOut =
343342
(parens (precOut >= 10) . Pretty.sep)
344-
["Data.Sequence.fromList", debug (Foldable.toList as)]
343+
["Data.Sequence.fromList", debug (toList as)]
345344

346345
instance Debug a => Debug (Const a b)
347346

@@ -578,7 +577,7 @@ instance
578577
instance (Debug a, Diff a) => Diff (Seq a) where
579578
diffPrec as bs =
580579
fmap wrapFromList
581-
$ diffPrec (Foldable.toList as) (Foldable.toList bs)
580+
$ diffPrec (toList as) (toList bs)
582581
where
583582
wrapFromList diff' precOut =
584583
parens (precOut >= 10) $ "Data.Sequence.fromList" <+> diff' 10

kore/src/Kore/ASTVerifier/AliasVerifier.hs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import Control.Monad.Reader
1515
)
1616
import qualified Control.Monad.Reader as Reader
1717
import qualified Control.Monad.State.Class as State
18-
import qualified Data.Foldable as Foldable
1918
import qualified Data.Functor.Foldable as Recursive
2019
import Data.Generics.Product
2120
import Data.Map.Strict
@@ -63,7 +62,7 @@ verifyAliases sentences = do
6362
$ mapMaybe projectSentenceAlias sentences
6463
aliasIds = Map.keysSet aliases
6564
runReaderT
66-
(Foldable.traverse_ verifyAlias aliasIds)
65+
(traverse_ verifyAlias aliasIds)
6766
AliasContext { aliases, verifying = Set.empty }
6867

6968
aliasName :: SentenceAlias patternType -> Id
@@ -123,7 +122,7 @@ verifyUncachedAlias :: Id -> AliasVerifier ()
123122
verifyUncachedAlias name = do
124123
sentence <- lookupParsedAlias name
125124
dependencies <- aliasDependencies sentence
126-
Foldable.traverse_ verifyAlias dependencies
125+
traverse_ verifyAlias dependencies
127126
verified <- SentenceVerifier.verifyAliasSentence sentence & lift
128127
attrs <- parseAttributes (sentenceAliasAttributes verified) & liftParser
129128
State.modify' $ addAlias verified attrs
@@ -145,7 +144,7 @@ collectAliasIds
145144
-> AliasVerifier (Set Id)
146145
collectAliasIds base = do
147146
_ :< patternF <- sequence base
148-
let names = Foldable.fold patternF
147+
let names = fold patternF
149148
AliasContext { aliases } <- Reader.ask
150149
case patternF of
151150
ApplicationF application | Map.member name aliases ->

kore/src/Kore/ASTVerifier/AttributesVerifier.hs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,12 @@ module Kore.ASTVerifier.AttributesVerifier
1818
, parseAttributes
1919
) where
2020

21-
import qualified Control.Lens as Lens
22-
import Data.Foldable
23-
( find
24-
, for_
25-
)
26-
import Data.Generics.Product
2721
import Prelude.Kore
2822

2923
import qualified Control.Comonad.Trans.Cofree as Cofree
24+
import qualified Control.Lens as Lens
3025
import qualified Data.Functor.Foldable as Recursive
26+
import Data.Generics.Product
3127

3228
import Kore.ASTVerifier.Error
3329
import qualified Kore.Attribute.Axiom as Attribute

kore/src/Kore/ASTVerifier/DefinitionVerifier.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import Control.Lens
2222
import Control.Monad
2323
( foldM
2424
)
25-
import qualified Data.Foldable as Foldable
2625
import Data.Generics.Product
2726
( field
2827
)
@@ -133,7 +132,7 @@ verifyAndIndexDefinitionWithBase
133132
implicitModule = ImplicitIndexedModule implicitIndexedModule
134133
parsedModules = modulesByName (definitionModules definition)
135134
definitionModuleNames = moduleName <$> definitionModules definition
136-
verifyModules = Foldable.traverse_ verifyModule definitionModuleNames
135+
verifyModules = traverse_ verifyModule definitionModuleNames
137136

138137
-- Verify the contents of the definition.
139138
(_, index) <-

kore/src/Kore/ASTVerifier/ModuleVerifier.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import Control.Lens
2020
import qualified Control.Lens as Lens
2121
import qualified Control.Monad.Reader.Class as Reader
2222
import qualified Control.Monad.State.Class as State
23-
import qualified Data.Foldable as Foldable
2423
import Data.Generics.Product
2524
import qualified Data.List as List
2625
import qualified Data.Map.Strict as Map
@@ -133,7 +132,7 @@ The named modules are verified and imported into the current 'VerifiedModule'.
133132
134133
-}
135134
verifyImports :: [ParsedSentence] -> SentenceVerifier ()
136-
verifyImports = Foldable.traverse_ verifyImport . mapMaybe projectSentenceImport
135+
verifyImports = traverse_ verifyImport . mapMaybe projectSentenceImport
137136

138137
verifyImport :: SentenceImport ParsedPattern -> SentenceVerifier ()
139138
verifyImport sentence =

kore/src/Kore/ASTVerifier/PatternVerifier.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import qualified Control.Monad as Monad
1919
import qualified Control.Monad.Reader as Reader
2020
import qualified Control.Monad.Trans.Class as Trans
2121
import Control.Monad.Trans.Maybe
22-
import qualified Data.Foldable as Foldable
2322
import qualified Data.Functor.Foldable as Recursive
2423
import qualified Data.Map.Strict as Map
2524
import qualified Data.Set as Set
@@ -345,7 +344,7 @@ verifyApplyAlias application =
345344
let verified = application { applicationSymbolOrAlias = alias }
346345
sorts = Internal.aliasSorts alias
347346
leftVariables <- getLeftVariables (Internal.aliasConstructor alias)
348-
Foldable.traverse_ ensureChildIsDeclaredVarType $ zip leftVariables children
347+
traverse_ ensureChildIsDeclaredVarType $ zip leftVariables children
349348
verifyApplicationChildren Internal.termLikeSort verified sorts
350349
where
351350
Application

kore/src/Kore/ASTVerifier/PatternVerifier/PatternVerifier.hs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import Control.Monad.Reader
4141
import qualified Control.Monad.Reader as Reader
4242
import qualified Control.Monad.Trans.Class as Trans
4343
import Control.Monad.Trans.Maybe
44-
import qualified Data.Foldable as Foldable
4544
import qualified Data.Map.Strict as Map
4645
import Data.Set
4746
( Set
@@ -259,8 +258,7 @@ uniqueDeclaredVariables
259258
:: Foldable f
260259
=> f (SomeVariable VariableName)
261260
-> PatternVerifier DeclaredVariables
262-
uniqueDeclaredVariables =
263-
Foldable.foldlM newDeclaredVariable emptyDeclaredVariables
261+
uniqueDeclaredVariables = foldlM newDeclaredVariable emptyDeclaredVariables
264262

265263
{- | Run a 'PatternVerifier' in a particular variable context.
266264

kore/src/Kore/ASTVerifier/SentenceVerifier.hs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import Control.Monad.State.Strict
3434
, runStateT
3535
)
3636
import qualified Control.Monad.State.Strict as State
37-
import qualified Data.Foldable as Foldable
3837
import Data.Generics.Product.Fields
3938
import qualified Data.Map.Strict as Map
4039
import Data.Set
@@ -195,7 +194,7 @@ runSentenceVerifier sentenceVerifier verifiedModule =
195194

196195
verifyHookedSorts :: [ParsedSentence] -> SentenceVerifier ()
197196
verifyHookedSorts =
198-
Foldable.traverse_ verifyHookedSortSentence
197+
traverse_ verifyHookedSortSentence
199198
. mapMaybe projectSentenceHookedSort
200199

201200
verifyHookedSortSentence :: SentenceSort ParsedPattern -> SentenceVerifier ()
@@ -222,7 +221,7 @@ verifyHookedSymbols
222221
:: [ParsedSentence]
223222
-> SentenceVerifier ()
224223
verifyHookedSymbols =
225-
Foldable.traverse_ verifyHookedSymbolSentence
224+
traverse_ verifyHookedSymbolSentence
226225
. mapMaybe projectSentenceHookedSymbol
227226

228227
verifyHookedSymbolSentence
@@ -257,7 +256,7 @@ addIndexedModuleHook name hook =
257256
| otherwise = id
258257

259258
verifySymbols :: [ParsedSentence] -> SentenceVerifier ()
260-
verifySymbols = Foldable.traverse_ verifySymbolSentence . mapMaybe project
259+
verifySymbols = traverse_ verifySymbolSentence . mapMaybe project
261260
where
262261
project sentence =
263262
projectSentenceSymbol sentence <|> projectSentenceHookedSymbol sentence
@@ -349,7 +348,7 @@ verifyAliasSentence sentence = do
349348

350349
verifyAxioms :: [ParsedSentence] -> SentenceVerifier ()
351350
verifyAxioms =
352-
Foldable.traverse_ verifyAxiomSentence
351+
traverse_ verifyAxiomSentence
353352
. mapMaybe projectSentenceAxiom
354353

355354
verifyAxiomSentence :: SentenceAxiom ParsedPattern -> SentenceVerifier ()
@@ -383,7 +382,7 @@ verifyClaims
383382
:: [ParsedSentence]
384383
-> SentenceVerifier ()
385384
verifyClaims =
386-
Foldable.traverse_ verifyClaimSentence
385+
traverse_ verifyClaimSentence
387386
. mapMaybe projectSentenceClaim
388387

389388
verifyClaimSentence :: SentenceClaim ParsedPattern -> SentenceVerifier ()
@@ -420,7 +419,7 @@ verifyClaimSentence sentence =
420419
freeVariablesLeft claimPattern & FreeVariables.toSet
421420

422421
verifySorts :: [ParsedSentence] -> SentenceVerifier ()
423-
verifySorts = Foldable.traverse_ verifySortSentence . mapMaybe project
422+
verifySorts = traverse_ verifySortSentence . mapMaybe project
424423
where
425424
project sentence =
426425
projectSentenceSort sentence <|> projectSentenceHookedSort sentence
@@ -445,7 +444,7 @@ verifyNonHooks
445444
:: [ParsedSentence]
446445
-> SentenceVerifier ()
447446
verifyNonHooks sentences=
448-
Foldable.traverse_ verifyNonHookSentence nonHookSentences
447+
traverse_ verifyNonHookSentence nonHookSentences
449448
where
450449
nonHookSentences = mapMaybe project sentences
451450
project (SentenceHookSentence _) = Nothing

kore/src/Kore/Attribute/Axiom.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import Data.Default
4646
( Default (..)
4747
)
4848
import qualified Data.Default as Default
49-
import qualified Data.Foldable as Foldable
5049
import Data.Generics.Product
5150
import Data.Proxy
5251
import qualified Generics.SOP as SOP
@@ -254,7 +253,7 @@ parseAxiomAttributes
254253
-> Attributes
255254
-> Parser (Axiom SymbolOrAlias VariableName)
256255
parseAxiomAttributes freeVariables (Attributes attrs) =
257-
Foldable.foldlM (flip $ parseAxiomAttribute freeVariables) Default.def attrs
256+
foldlM (flip $ parseAxiomAttribute freeVariables) Default.def attrs
258257

259258
mapAxiomVariables
260259
:: Ord variable2

kore/src/Kore/Attribute/Parser.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ import Data.Default
8585
( Default (..)
8686
)
8787
import qualified Data.Default as Default
88-
import qualified Data.Foldable as Foldable
8988
import qualified Data.Functor.Foldable as Recursive
9089
import qualified Data.List as List
9190
import Data.Text
@@ -162,7 +161,7 @@ parseAttributesWith
162161
-> attrs
163162
-> Parser attrs
164163
parseAttributesWith (Attributes attrs) def' =
165-
Foldable.foldlM (flip parseAttribute) def' attrs
164+
foldlM (flip parseAttribute) def' attrs
166165

167166
parseAttributes :: ParseAttributes attrs => Attributes -> Parser attrs
168167
parseAttributes attrs = parseAttributesWith attrs Default.def

kore/src/Kore/Attribute/Pattern/Defined.hs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ module Kore.Attribute.Pattern.Defined
1111
import Prelude.Kore
1212

1313
import Control.DeepSeq
14-
import qualified Data.Foldable as Foldable
1514
import Data.Functor.Const
1615
import qualified Data.Map.Strict as Map
1716
import Data.Monoid
@@ -54,7 +53,7 @@ instance Synthetic Defined (Bottom sort) where
5453
-- arguments are 'Defined'.
5554
instance Synthetic Defined (Application Internal.Symbol) where
5655
synthetic application =
57-
totalSymbol <> Foldable.fold children
56+
totalSymbol <> fold children
5857
where
5958
totalSymbol = Defined (Internal.isTotal symbol)
6059
children = applicationChildren application
@@ -120,7 +119,7 @@ instance Synthetic Defined (Nu sort) where
120119

121120
-- | An 'Or' pattern is 'Defined' if any of its subterms is 'Defined'.
122121
instance Synthetic Defined (Or sort) where
123-
synthetic = Defined . getAny . Foldable.foldMap (Any . isDefined)
122+
synthetic = Defined . getAny . foldMap (Any . isDefined)
124123
{-# INLINE synthetic #-}
125124

126125
instance Synthetic Defined (Rewrites sort) where
@@ -139,7 +138,7 @@ instance Synthetic Defined (Builtin key) where
139138
{builtinAcChild = NormalizedMap builtinMapChild}
140139
)
141140
= normalizedAcDefined builtinMapChild
142-
synthetic builtin = Foldable.fold builtin
141+
synthetic builtin = fold builtin
143142
{-# INLINE synthetic #-}
144143

145144
normalizedAcDefined
@@ -165,7 +164,7 @@ normalizedAcDefined ac@(NormalizedAc _ _ _) =
165164
| Map.null concreteElements -> sameAsChildren
166165
_ -> Defined False
167166
where
168-
sameAsChildren = Foldable.fold ac
167+
sameAsChildren = fold ac
169168

170169

171170
-- | A 'Top' pattern is always 'Defined'.

kore/src/Kore/Attribute/Pattern/FreeVariables.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ module Kore.Attribute.Pattern.FreeVariables
2121
, HasFreeVariables (..)
2222
) where
2323

24-
import Prelude.Kore
24+
import Prelude.Kore hiding
25+
( toList
26+
)
2527

2628
import Control.DeepSeq
27-
import qualified Data.Foldable as Foldable
2829
import Data.Functor.Const
2930
import Data.Map.Strict
3031
( Map
@@ -119,8 +120,7 @@ bindVariables
119120
=> f (SomeVariable variable)
120121
-> FreeVariables variable
121122
-> FreeVariables variable
122-
bindVariables bound free =
123-
Foldable.foldl' (flip bindVariable) free bound
123+
bindVariables bound free = foldl' (flip bindVariable) free bound
124124
{-# INLINE bindVariables #-}
125125

126126
isFreeVariable

0 commit comments

Comments
 (0)