aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2019-02-01 10:42:24 +0000
committerYann Herklotz <ymherklotz@gmail.com>2019-02-01 10:42:24 +0000
commitb84752cccf0d7ca5e6c189a07dcbf32e37384bf9 (patch)
tree27b18f577798dc816c9ebf325e1e6b486a7f0610 /app
parent67c39835c43f8df6dc58974b9bd45a0337ac1c27 (diff)
downloadverismith-b84752cccf0d7ca5e6c189a07dcbf32e37384bf9.tar.gz
verismith-b84752cccf0d7ca5e6c189a07dcbf32e37384bf9.zip
Better formatting
Diffstat (limited to 'app')
-rw-r--r--app/Main.hs25
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 ()))