diff options
author | Yann Herklotz Grave <git@yannherklotzgrave.com> | 2019-03-03 18:57:07 +0000 |
---|---|---|
committer | Yann Herklotz Grave <git@yannherklotzgrave.com> | 2019-03-03 18:57:07 +0000 |
commit | 3fbb87fe5c5058ecb2a2bdc30a999835aaced8af (patch) | |
tree | 4a09cd8b77f7b37e56e5adf7724701d34462d403 /src/VeriFuzz/Reduce.hs | |
parent | 97ff5c00d3e2b864238cadb225d26d4bebe72154 (diff) | |
download | verismith-3fbb87fe5c5058ecb2a2bdc30a999835aaced8af.tar.gz verismith-3fbb87fe5c5058ecb2a2bdc30a999835aaced8af.zip |
Add transformers and procedural generation
Diffstat (limited to 'src/VeriFuzz/Reduce.hs')
-rw-r--r-- | src/VeriFuzz/Reduce.hs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/VeriFuzz/Reduce.hs b/src/VeriFuzz/Reduce.hs index 3cecbe4..b09055e 100644 --- a/src/VeriFuzz/Reduce.hs +++ b/src/VeriFuzz/Reduce.hs @@ -108,12 +108,12 @@ halveAssigns :: SourceInfo -> Replacement SourceInfo halveAssigns = combine mainModule halveModAssign halveIndExpr :: Expr -> Replacement Expr -halveIndExpr (Concat l) = Concat <$> halve l -halveIndExpr (BinOp e1 _ e2 ) = Dual e1 e2 -halveIndExpr (Cond _ e1 e2 ) = Dual e1 e2 -halveIndExpr (UnOp _ e ) = Single e -halveIndExpr (Func _ e ) = Single e -halveIndExpr e = Single e +halveIndExpr (Concat l ) = Concat <$> halve l +halveIndExpr (BinOp e1 _ e2) = Dual e1 e2 +halveIndExpr (Cond _ e1 e2) = Dual e1 e2 +halveIndExpr (UnOp _ e ) = Single e +halveIndExpr (Func _ e ) = Single e +halveIndExpr e = Single e halveModExpr :: ModItem -> Replacement ModItem halveModExpr (ModCA ca) = ModCA <$> combine contAssignExpr halveIndExpr ca @@ -121,9 +121,9 @@ halveModExpr a = Single a halveExpr :: SourceInfo -> Replacement SourceInfo halveExpr = combine contexpr $ traverse halveModExpr - where - contexpr :: Lens' SourceInfo [ModItem] - contexpr = mainModule . modItems + where + contexpr :: Lens' SourceInfo [ModItem] + contexpr = mainModule . modItems reduce_ :: (SourceInfo -> Replacement SourceInfo) @@ -136,10 +136,10 @@ reduce_ repl eval src = do (Single s, Single False) -> do putStrLn "########## 1 ##########" runIf s - (Dual _ l, Dual True False ) -> do + (Dual _ l, Dual True False) -> do putStrLn "########## 2 ##########" runIf l - (Dual r _, Dual False True ) -> do + (Dual r _, Dual False True) -> do putStrLn "########## 3 ##########" runIf r (Dual r l, Dual False False) -> do @@ -152,7 +152,7 @@ reduce_ repl eval src = do (None, None) -> do putStrLn "########## 5 ##########" return src - _ -> do + _ -> do putStrLn "########## 6 ##########" return src where |