From b84752cccf0d7ca5e6c189a07dcbf32e37384bf9 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 1 Feb 2019 10:42:24 +0000 Subject: Better formatting --- app/Main.hs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'app') 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 ())) -- cgit