diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2019-02-01 10:42:24 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2019-02-01 10:42:24 +0000 |
commit | b84752cccf0d7ca5e6c189a07dcbf32e37384bf9 (patch) | |
tree | 27b18f577798dc816c9ebf325e1e6b486a7f0610 | |
parent | 67c39835c43f8df6dc58974b9bd45a0337ac1c27 (diff) | |
download | verismith-b84752cccf0d7ca5e6c189a07dcbf32e37384bf9.tar.gz verismith-b84752cccf0d7ca5e6c189a07dcbf32e37384bf9.zip |
Better formatting
-rw-r--r-- | app/Main.hs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/app/Main.hs b/app/Main.hs index 845c05e..3bb9d9f 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -2,16 +2,18 @@ module Main where import Control.Concurrent import Control.Lens -import qualified Crypto.Random.DRBG as C -import Data.ByteString (ByteString) -import qualified Data.Graph.Inductive as G -import Data.Text (Text) -import qualified Data.Text as T -import Numeric (showHex) -import Prelude hiding (FilePath) +import qualified Crypto.Random.DRBG as C +import Data.ByteString (ByteString) +import qualified Data.Graph.Inductive as G +import qualified Data.Graph.Inductive.Dot as G +import Data.Text (Text) +import qualified Data.Text as T +import Numeric (showHex) +import Prelude hiding (FilePath) import Shelly -import qualified Test.QuickCheck as QC +import qualified Test.QuickCheck as QC import VeriFuzz +import qualified VeriFuzz.Graph.RandomAlt as V myForkIO :: IO () -> IO (MVar ()) myForkIO io = do @@ -29,6 +31,13 @@ genRandom n = do gen <- C.newGenIO :: IO C.CtrDRBG return $ genRand gen n [] +draw :: IO () +draw = do + gr <- QC.generate $ rDups <$> QC.resize 10 (randomDAG :: QC.Gen (G.Gr Gate ())) + let dot = G.showDot . G.fglToDotString $ G.nemap show (const "") gr + writeFile "file.dot" dot + shelly $ run_ "dot" ["-Tpng", "-o", "file.png", "file.dot"] + runSimulation :: IO () runSimulation = do gr <- QC.generate $ rDups <$> QC.resize 100 (randomDAG :: QC.Gen (G.Gr Gate ())) |