Make the analysis parallel #2
@@ -10,11 +10,12 @@ import qualified Hedgehog.Corpus as Corpus
 | 
				
			|||||||
import qualified Hedgehog.Gen as Gen
 | 
					import qualified Hedgehog.Gen as Gen
 | 
				
			||||||
import qualified Hedgehog.Range as Range
 | 
					import qualified Hedgehog.Range as Range
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Data.Text
 | 
					import Data.ByteString
 | 
				
			||||||
import qualified Data.Text as T
 | 
					import qualified Data.ByteString as T
 | 
				
			||||||
import qualified Data.Vector as V
 | 
					import qualified Data.Vector as V
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Data.Email.Header
 | 
					import Data.Email.Header
 | 
				
			||||||
 | 
					import qualified Data.ByteString.Char8 as BC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
genHeader :: Gen Header
 | 
					genHeader :: Gen Header
 | 
				
			||||||
genHeader = Gen.choice
 | 
					genHeader = Gen.choice
 | 
				
			||||||
@@ -22,17 +23,17 @@ genHeader = Gen.choice
 | 
				
			|||||||
  , To . V.fromList <$> Gen.list (Range.linear 0 10) genEmail
 | 
					  , To . V.fromList <$> Gen.list (Range.linear 0 10) genEmail
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
genEmail :: Gen Text
 | 
					genEmail :: Gen ByteString
 | 
				
			||||||
genEmail = do
 | 
					genEmail = do
 | 
				
			||||||
  name <- Gen.element Corpus.simpsons
 | 
					  name <- Gen.element Corpus.simpsons
 | 
				
			||||||
  domain <- Gen.element Corpus.cooking
 | 
					  domain <- Gen.element Corpus.cooking
 | 
				
			||||||
  tld <- Gen.element ["com","fi","org"]
 | 
					  tld <- Gen.element ["com","fi","org"]
 | 
				
			||||||
  pure $ name <> "@" <> domain <> "." <> tld
 | 
					  pure $ name <> "@" <> domain <> "." <> tld
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wrapped :: Char -> Text -> Char -> Text
 | 
					wrapped :: Char -> ByteString -> Char -> ByteString
 | 
				
			||||||
wrapped l x r = T.singleton l <> x <> T.singleton r
 | 
					wrapped l x r = BC.singleton l <> x <> BC.singleton r
 | 
				
			||||||
 | 
					
 | 
				
			||||||
genComment :: Gen Text
 | 
					genComment :: Gen ByteString
 | 
				
			||||||
genComment = do
 | 
					genComment = do
 | 
				
			||||||
  x <- Gen.element Corpus.simpsons
 | 
					  x <- Gen.element Corpus.simpsons
 | 
				
			||||||
  Gen.element [x, wrapped '"' x '"']
 | 
					  Gen.element [x, wrapped '"' x '"']
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user