build devShells.x86_64-linux.ghc967

  1. 1740.12 s [extra] [ 8 of 22] Compiling Data.Version.Extra ( src/Data/Version/Extra.hs, dist/build/Data/Version/Extra.p_o )
  2. 1740.25 s [extra] [ 9 of 22] Compiling Data.List.NonEmpty.Extra ( src/Data/List/NonEmpty/Extra.hs, dist/build/Data/List/NonEmpty/Extra.p_o )
  3. 1740.33 s [extra] [10 of 22] Compiling Data.Either.Extra ( src/Data/Either/Extra.hs, dist/build/Data/Either/Extra.p_o )
  4. 1740.33 s [extra] [11 of 22] Compiling Control.Exception.Extra ( src/Control/Exception/Extra.hs, dist/build/Control/Exception/Extra.p_o )
  5. 1740.33 s [extra] [12 of 22] Compiling Control.Monad.Extra ( src/Control/Monad/Extra.hs, dist/build/Control/Monad/Extra.p_o )
  6. 1740.47 s [haskell-language-server] [1 of 2] Compiling Ide.Plugin.GHC ( plugins/hls-gadt-plugin/src/Ide/Plugin/GHC.hs, dist/build/hls-gadt-plugin/Ide/Plugin/GHC.p_o )
  7. 1740.59 s [extra] [13 of 22] Compiling Data.Foldable.Extra ( src/Data/Foldable/Extra.hs, dist/build/Data/Foldable/Extra.p_o )
  8. 1740.75 s [extra] [14 of 22] Compiling Control.Concurrent.Extra ( src/Control/Concurrent/Extra.hs, dist/build/Control/Concurrent/Extra.p_o )
  9. 1740.89 s [extra] [15 of 22] Compiling System.Directory.Extra ( src/System/Directory/Extra.hs, dist/build/System/Directory/Extra.p_o )
  10. 1740.89 s [extra] [16 of 22] Compiling System.Environment.Extra ( src/System/Environment/Extra.hs, dist/build/System/Environment/Extra.p_o )
  11. 1740.89 s [extra] [17 of 22] Compiling System.IO.Extra ( src/System/IO/Extra.hs, dist/build/System/IO/Extra.p_o )
  12. 1741.12 s [extra] [18 of 22] Compiling System.Info.Extra ( src/System/Info/Extra.hs, dist/build/System/Info/Extra.p_o )
  13. 1741.12 s [extra] [19 of 22] Compiling System.Process.Extra ( src/System/Process/Extra.hs, dist/build/System/Process/Extra.p_o )
  14. 1741.23 s [extra] [20 of 22] Compiling System.Time.Extra ( src/System/Time/Extra.hs, dist/build/System/Time/Extra.p_o )
  15. 1741.23 s [extra] [21 of 22] Compiling Extra ( src/Extra.hs, dist/build/Extra.p_o )
  16. 1741.28 s [haskell-language-server] [2 of 2] Compiling Ide.Plugin.GADT ( plugins/hls-gadt-plugin/src/Ide/Plugin/GADT.hs, dist/build/hls-gadt-plugin/Ide/Plugin/GADT.p_o )
  17. 1741.36 s [extra] [22 of 22] Compiling Text.Read.Extra ( src/Text/Read/Extra.hs, dist/build/Text/Read/Extra.p_o )
  18. 1742.48 s [extra] Preprocessing test suite 'extra-test' for extra-1.8.1..
  19. 1742.48 s [extra] Building test suite 'extra-test' for extra-1.8.1..
  20. 1742.54 s [extra] [1 of 4] Compiling TestUtil ( test/TestUtil.hs, dist/build/extra-test/extra-test-tmp/TestUtil.o )
  21. 1742.83 s [extra] [2 of 4] Compiling TestGen ( test/TestGen.hs, dist/build/extra-test/extra-test-tmp/TestGen.o )
  22. 1744.26 s [extra] [3 of 4] Compiling TestCustom ( test/TestCustom.hs, dist/build/extra-test/extra-test-tmp/TestCustom.o )
  23. 1744.26 s [extra] [4 of 4] Compiling Test ( test/Test.hs, dist/build/extra-test/extra-test-tmp/Test.o )
  24. 1744.51 s [extra] [5 of 5] Linking dist/build/extra-test/extra-test
  25. 1745.17 s [extra] Phase: checkPhase
  26. 1745.19 s [extra] Running 1 test suites...
  27. 1745.19 s [extra] Test suite extra-test: RUNNING...
  28. 1745.20 s [extra] withTempFile
  29. 1745.20 s [extra] +++ OK, passed 100 tests.
  30. 1745.20 s [extra] captureOutput
  31. 1745.20 s [extra] +++ OK, passed 100 tests.
  32. 1745.20 s [extra] \(x :: IO Int) -> void (once x) == pure ()
  33. 1745.23 s [extra] +++ OK, passed 100 tests.
  34. 1745.23 s [extra] \(x :: IO Int) -> join (once x) == x
  35. 1745.25 s [extra] +++ OK, passed 100 tests.
  36. 1745.25 s [extra] \(x :: IO Int) -> (do y <- once x; y; y) == x
  37. 1745.27 s [extra] +++ OK, passed 100 tests.
  38. 1745.27 s [extra] \(x :: IO Int) -> (do y <- once x; y ||| y) == x
  39. 1745.30 s [extra] +++ OK, passed 100 tests.
  40. 1745.30 s [extra] \(x :: IO Int) -> join (onceFork x) == x
  41. 1745.33 s [extra] +++ OK, passed 100 tests.
  42. 1745.33 s [extra] \(x :: IO Int) -> (do a <- onceFork x; a; a) == x
  43. 1745.35 s [extra] +++ OK, passed 100 tests.
  44. 1745.35 s [extra] stringException "test" == pure "test"
  45. 1745.35 s [extra] +++ OK, passed 100 tests.
  46. 1745.35 s [extra] stringException ("test" ++ undefined) == pure "test<Exception>"
  47. 1745.35 s [extra] +++ OK, passed 100 tests.
  48. 1745.35 s [extra] stringException ("test" ++ undefined ++ "hello") == pure "test<Exception>"
  49. 1745.35 s [extra] +++ OK, passed 100 tests.
  50. 1745.35 s [extra] stringException ['t','e','s','t',undefined] == pure "test<Exception>"
  51. 1745.36 s [extra] +++ OK, passed 100 tests.
  52. 1745.36 s [extra] ignore (print 1) == print 1
  53. 1745.36 s [extra] +++ OK, passed 100 tests.
  54. 1745.36 s [extra] ignore (fail "die") == pure ()
  55. 1745.36 s [extra] +++ OK, passed 100 tests.
  56. 1745.36 s [extra] catch (errorIO "Hello") (\(ErrorCall x) -> pure x) == pure "Hello"
  57. 1745.36 s [extra] +++ OK, passed 100 tests.
  58. 1745.36 s [extra] seq (errorIO "foo") (print 1) == print 1
  59. 1745.36 s [extra] +++ OK, passed 100 tests.
  60. 1745.36 s [extra] catch (assertIO True >> pure 1) (\(x :: AssertionFailed) -> pure 2) == pure 1
  61. 1745.36 s [extra] +++ OK, passed 100 tests.
  62. 1745.36 s [extra] seq (assertIO False) (print 1) == print 1
  63. 1745.36 s [extra] +++ OK, passed 100 tests.
  64. 1745.36 s [extra] retry 1 (print "x") == print "x"
  65. 1745.36 s [extra] +++ OK, passed 100 tests.
  66. 1745.36 s [extra] retry 3 (fail "die") == fail "die"
  67. 1745.36 s [extra] +++ OK, passed 100 tests.
  68. 1745.36 s [extra] whenJust Nothing print == pure ()
  69. 1745.36 s [extra] +++ OK, passed 100 tests.
  70. 1745.36 s [extra] whenJust (Just 1) print == print 1
  71. 1745.36 s [extra] +++ OK, passed 100 tests.
  72. 1745.36 s [extra] pureIf @Maybe True 5 == Just 5
  73. 1745.36 s [extra] +++ OK, passed 100 tests.
  74. 1745.36 s [extra] pureIf @Maybe False 5 == Nothing
  75. 1745.36 s [extra] +++ OK, passed 100 tests.
  76. 1745.36 s [extra] pureIf @[] True 5 == [5]
  77. 1745.36 s [extra] +++ OK, passed 100 tests.
  78. 1745.36 s [extra] pureIf @[] False 5 == []
  79. 1745.36 s [extra] +++ OK, passed 100 tests.
  80. 1745.36 s [extra] whenMaybe True (print 1) == fmap Just (print 1)
  81. 1745.36 s [extra] +++ OK, passed 100 tests.
  82. 1745.36 s [extra] whenMaybe False (print 1) == pure Nothing
  83. 1745.36 s [extra] +++ OK, passed 100 tests.
  84. 1745.36 s [extra] \(x :: Maybe ()) -> unit x == x
  85. 1745.36 s [extra] +++ OK, passed 100 tests.
  86. 1745.36 s [extra] guarded even 2 == [2]
  87. 1745.36 s [extra] +++ OK, passed 100 tests.
  88. 1745.36 s [extra] guarded odd 2 == Nothing
  89. 1745.36 s [extra] +++ OK, passed 100 tests.
  90. 1745.36 s [extra] guarded (not.null) "My Name" == Just "My Name"
  91. 1745.36 s [extra] +++ OK, passed 100 tests.
  92. 1745.36 s [extra] guardedA (return . even) 42 == Just [42]
  93. 1745.36 s [extra] +++ OK, passed 100 tests.
  94. 1745.36 s [extra] guardedA (return . odd) 42 == Just []
  95. 1745.36 s [extra] +++ OK, passed 100 tests.
  96. 1745.36 s [extra] guardedA (const Nothing) 42 == (Nothing :: Maybe [Int])
  97. 1745.36 s [extra] +++ OK, passed 100 tests.
  98. 1745.36 s [extra] fold1M (\x y -> Just x) [] == undefined
  99. 1745.36 s [extra] +++ OK, passed 100 tests.
  100. 1745.36 s [extra] fold1M (\x y -> Just $ x + y) [1, 2, 3] == Just 6
  101. 1745.36 s [extra] +++ OK, passed 100 tests.
  102. 1745.36 s [extra] partitionM (Just . even) [1,2,3] == Just ([2], [1,3])
  103. 1745.36 s [extra] +++ OK, passed 100 tests.
  104. 1745.36 s [extra] partitionM (const Nothing) [1,2,3] == Nothing
  105. 1745.36 s [extra] +++ OK, passed 100 tests.
  106. 1745.36 s [extra] loop (\x -> if x < 10 then Left $ x * 2 else Right $ show x) 1 == "16"
  107. 1745.36 s [extra] +++ OK, passed 100 tests.
  108. 1745.37 s [extra] Just True ||^ undefined == Just True
  109. 1745.37 s [extra] +++ OK, passed 100 tests.
  110. 1745.37 s [extra] Just False ||^ Just True == Just True
  111. 1745.37 s [extra] +++ OK, passed 100 tests.
  112. 1745.37 s [extra] Just False ||^ Just False == Just False
  113. 1745.37 s [extra] +++ OK, passed 100 tests.
  114. 1745.37 s [extra] Just False &&^ undefined == Just False
  115. 1745.37 s [extra] +++ OK, passed 100 tests.
  116. 1745.37 s [extra] Just True &&^ Just True == Just True
  117. 1745.37 s [extra] +++ OK, passed 100 tests.
  118. 1745.37 s [extra] Just True &&^ Just False == Just False
  119. 1745.37 s [extra] +++ OK, passed 100 tests.
  120. 1745.37 s [extra] anyM Just [False,True ,undefined] == Just True
  121. 1745.37 s [extra] +++ OK, passed 100 tests.
  122. 1745.37 s [extra] anyM Just [False,False,undefined] == undefined
  123. 1745.37 s [extra] +++ OK, passed 100 tests.
  124. 1745.37 s [extra] \(f :: Int -> Maybe Bool) xs -> anyM f xs == orM (map f xs)
  125. 1745.37 s [extra] +++ OK, passed 100 tests.
  126. 1745.37 s [extra] allM Just [True,False,undefined] == Just False
  127. 1745.37 s [extra] +++ OK, passed 100 tests.
  128. 1745.37 s [extra] allM Just [True,True ,undefined] == undefined
  129. 1745.37 s [extra] +++ OK, passed 100 tests.
  130. 1745.37 s [extra] \(f :: Int -> Maybe Bool) xs -> anyM f xs == orM (map f xs)
  131. 1745.37 s [extra] +++ OK, passed 100 tests.
  132. 1745.37 s [extra] orM [Just False,Just True ,undefined] == Just True
  133. 1745.37 s [extra] +++ OK, passed 100 tests.
  134. 1745.37 s [extra] orM [Just False,Just False,undefined] == undefined
  135. 1745.37 s [extra] +++ OK, passed 100 tests.
  136. 1745.37 s [extra] \xs -> Just (or xs) == orM (map Just xs)
  137. 1745.37 s [extra] +++ OK, passed 100 tests.
  138. 1745.37 s [extra] andM [Just True,Just False,undefined] == Just False
  139. 1745.37 s [extra] +++ OK, passed 100 tests.
  140. 1745.37 s [extra] andM [Just True,Just True ,undefined] == undefined
  141. 1745.37 s [extra] +++ OK, passed 100 tests.
  142. 1745.37 s [extra] \xs -> Just (and xs) == andM (map Just xs)
  143. 1745.37 s [extra] +++ OK, passed 100 tests.
  144. 1745.37 s [extra] findM (Just . isUpper) "teST" == Just (Just 'S')
  145. 1745.37 s [extra] +++ OK, passed 100 tests.
  146. 1745.37 s [extra] findM (Just . isUpper) "test" == Just Nothing
  147. 1745.37 s [extra] +++ OK, passed 100 tests.
  148. 1745.37 s [extra] findM (Just . const True) ["x",undefined] == Just (Just "x")
  149. 1745.37 s [extra] +++ OK, passed 100 tests.
  150. 1745.37 s [extra] fromLeft 1 (Left 3) == 3
  151. 1745.37 s [extra] +++ OK, passed 100 tests.
  152. 1745.37 s [extra] fromLeft 1 (Right "foo") == 1
  153. 1745.37 s [extra] +++ OK, passed 100 tests.
  154. 1745.37 s [extra] fromRight 1 (Right 3) == 3
  155. 1745.37 s [extra] +++ OK, passed 100 tests.
  156. 1745.37 s [extra] fromRight 1 (Left "foo") == 1
  157. 1745.37 s [extra] +++ OK, passed 100 tests.
  158. 1745.37 s [extra] \x -> fromLeft' (Left x) == x
  159. 1745.37 s [extra] +++ OK, passed 100 tests.
  160. 1745.37 s [extra] \x -> fromLeft' (Right x) == undefined
  161. 1745.37 s [extra] +++ OK, passed 100 tests.
  162. 1745.37 s [extra] \x -> fromRight' (Right x) == x
  163. 1745.37 s [extra] +++ OK, passed 100 tests.
  164. 1745.37 s [extra] \x -> fromRight' (Left x) == undefined
  165. 1745.37 s [extra] +++ OK, passed 100 tests.
  166. 1745.37 s [extra] \x -> fromEither (Left x ) == x
  167. 1745.37 s [extra] +++ OK, passed 100 tests.
  168. 1745.37 s [extra] \x -> fromEither (Right x) == x
  169. 1745.37 s [extra] +++ OK, passed 100 tests.
  170. 1745.37 s [extra] \a b -> maybeToEither a (Just b) == Right b
  171. 1745.37 s [extra] +++ OK, passed 100 tests.
  172. 1745.37 s [extra] \a -> maybeToEither a Nothing == Left a
  173. 1745.37 s [extra] +++ OK, passed 100 tests.
  174. 1745.37 s [extra] \x -> eitherToMaybe (Left x) == Nothing
  175. 1745.37 s [extra] +++ OK, passed 100 tests.
  176. 1745.37 s [extra] \x -> eitherToMaybe (Right x) == Just x
  177. 1745.37 s [extra] +++ OK, passed 100 tests.
  178. 1745.37 s [extra] mapLeft show (Left 1) == Left "1"
  179. 1745.37 s [extra] +++ OK, passed 100 tests.
  180. 1745.37 s [extra] mapLeft show (Right True) == Right True
  181. 1745.37 s [extra] +++ OK, passed 100 tests.
  182. 1745.37 s [extra] mapRight show (Left 1) == Left 1
  183. 1745.37 s [extra] +++ OK, passed 100 tests.
  184. 1745.37 s [extra] mapRight show (Right True) == Right "True"
  185. 1745.37 s [extra] +++ OK, passed 100 tests.
  186. 1745.37 s [extra] \xs -> repeatedly (splitAt 3) xs == chunksOf 3 xs
  187. 1745.37 s [extra] +++ OK, passed 100 tests.
  188. 1745.37 s [extra] \xs -> repeatedly word1 (trim xs) == words xs
  189. 1745.37 s [extra] +++ OK, passed 100 tests.
  190. 1745.37 s [extra] \xs -> repeatedly line1 xs == lines xs
  191. 1745.37 s [extra] +++ OK, passed 100 tests.
  192. 1745.37 s [extra] disjoint [1,2,3] [4,5] == True
  193. 1745.37 s [extra] +++ OK, passed 100 tests.
  194. 1745.37 s [extra] disjoint [1,2,3] [4,1] == False
  195. 1745.37 s [extra] +++ OK, passed 100 tests.
  196. 1745.37 s [extra] disjointOrd [1,2,3] [4,5] == True
  197. 1745.37 s [extra] +++ OK, passed 100 tests.
  198. 1745.37 s [extra] disjointOrd [1,2,3] [4,1] == False
  199. 1745.37 s [extra] +++ OK, passed 100 tests.
  200. 1745.37 s [extra] disjointOrdBy (compare `on` (`mod` 7)) [1,2,3] [4,5] == True
  201. 1745.37 s [extra] +++ OK, passed 100 tests.
  202. 1745.37 s [extra] disjointOrdBy (compare `on` (`mod` 7)) [1,2,3] [4,8] == False
  203. 1745.37 s [extra] +++ OK, passed 100 tests.
  204. 1745.37 s [extra] anySame [1,1,2] == True
  205. 1745.37 s [extra] +++ OK, passed 100 tests.
  206. 1745.37 s [extra] anySame [1,2,3] == False
  207. 1745.37 s [extra] +++ OK, passed 100 tests.
  208. 1745.37 s [extra] anySame (1:2:1:undefined) == True
  209. 1745.37 s [extra] +++ OK, passed 100 tests.
  210. 1745.37 s [extra] anySame [] == False
  211. 1745.37 s [extra] +++ OK, passed 100 tests.
  212. 1745.38 s [extra] \xs -> anySame xs == (length (nub xs) < length xs)
  213. 1745.38 s [extra] +++ OK, passed 100 tests.
  214. 1745.38 s [extra] allSame [1,1,2] == False
  215. 1745.38 s [extra] +++ OK, passed 100 tests.
  216. 1745.38 s [extra] allSame [1,1,1] == True
  217. 1745.38 s [extra] +++ OK, passed 100 tests.
  218. 1745.38 s [extra] allSame [1] == True
  219. 1745.38 s [extra] +++ OK, passed 100 tests.
  220. 1745.38 s [extra] allSame [] == True
  221. 1745.38 s [extra] +++ OK, passed 100 tests.
  222. 1745.38 s [extra] allSame (1:1:2:undefined) == False
  223. 1745.38 s [extra] +++ OK, passed 100 tests.
  224. 1745.38 s [extra] \xs -> allSame xs == (length (nub xs) <= 1)
  225. 1745.38 s [extra] +++ OK, passed 100 tests.
  226. 1745.38 s [extra] headDef 1 [] == 1
  227. 1745.38 s [extra] +++ OK, passed 100 tests.
  228. 1745.38 s [extra] headDef 1 [2,3,4] == 2
  229. 1745.38 s [extra] +++ OK, passed 100 tests.
  230. 1745.38 s [extra] \x xs -> headDef x xs == fromMaybe x (listToMaybe xs)
  231. 1745.38 s [extra] +++ OK, passed 100 tests.
  232. 1745.38 s [extra] lastDef 1 [] == 1
  233. 1745.38 s [extra] +++ OK, passed 100 tests.
  234. 1745.38 s [extra] lastDef 1 [2,3,4] == 4
  235. 1745.38 s [extra] +++ OK, passed 100 tests.
  236. 1745.38 s [extra] \x xs -> lastDef x xs == last (x:xs)
  237. 1745.38 s [extra] +++ OK, passed 100 tests.
  238. 1745.38 s [extra] [2,3,4] !? 1 == Just 3
  239. 1745.38 s [extra] +++ OK, passed 100 tests.
  240. 1745.38 s [extra] [2,3,4] !? (-1) == Nothing
  241. 1745.38 s [extra] +++ OK, passed 100 tests.
  242. 1745.38 s [extra] [] !? 0 == Nothing
  243. 1745.38 s [extra] +++ OK, passed 100 tests.
  244. 1745.38 s [extra] notNull [] == False
  245. 1745.38 s [extra] +++ OK, passed 100 tests.
  246. 1745.38 s [extra] notNull [1] == True
  247. 1745.38 s [extra] +++ OK, passed 100 tests.
  248. 1745.38 s [extra] \xs -> notNull xs == not (null xs)
  249. 1745.38 s [extra] +++ OK, passed 100 tests.
  250. 1745.38 s [extra] list 1 (\v _ -> v - 2) [5,6,7] == 3
  251. 1745.38 s [extra] +++ OK, passed 100 tests.
  252. 1745.38 s [extra] list 1 (\v _ -> v - 2) [] == 1
  253. 1745.38 s [extra] +++ OK, passed 100 tests.
  254. 1745.38 s [extra] \nil cons xs -> maybe nil (uncurry cons) (uncons xs) == list nil cons xs
  255. 1745.38 s [extra] +++ OK, passed 100 tests.
  256. 1745.38 s [extra] unsnoc "test" == Just ("tes",'t')
  257. 1745.38 s [extra] +++ OK, passed 100 tests.
  258. 1745.38 s [extra] unsnoc "" == Nothing
  259. 1745.38 s [extra] +++ OK, passed 100 tests.
  260. 1745.38 s [extra] \xs -> unsnoc xs == if null xs then Nothing else Just (init xs, last xs)
  261. 1745.38 s [extra] +++ OK, passed 100 tests.
  262. 1745.38 s [extra] cons 't' "est" == "test"
  263. 1745.38 s [extra] +++ OK, passed 100 tests.
  264. 1745.38 s [extra] \x xs -> uncons (cons x xs) == Just (x,xs)
  265. 1745.38 s [extra] +++ OK, passed 100 tests.
  266. 1745.38 s [extra] snoc "tes" 't' == "test"
  267. 1745.38 s [extra] +++ OK, passed 100 tests.
  268. 1745.38 s [extra] \xs x -> unsnoc (snoc xs x) == Just (xs,x)
  269. 1745.38 s [extra] +++ OK, passed 100 tests.
  270. 1745.38 s [extra] enumerate == [False, True]
  271. 1745.38 s [extra] +++ OK, passed 100 tests.
  272. 1745.38 s [extra] takeEnd 3 "hello" == "llo"
  273. 1745.38 s [extra] +++ OK, passed 100 tests.
  274. 1745.38 s [extra] takeEnd 5 "bye" == "bye"
  275. 1745.38 s [extra] +++ OK, passed 100 tests.
  276. 1745.38 s [extra] takeEnd (-1) "bye" == ""
  277. 1745.38 s [extra] +++ OK, passed 100 tests.
  278. 1745.38 s [extra] \i xs -> takeEnd i xs `isSuffixOf` xs
  279. 1745.38 s [extra] +++ OK, passed 100 tests.
  280. 1745.38 s [extra] \i xs -> length (takeEnd i xs) == min (max 0 i) (length xs)
  281. 1745.38 s [extra] +++ OK, passed 100 tests.
  282. 1745.38 s [extra] dropEnd 3 "hello" == "he"
  283. 1745.38 s [extra] +++ OK, passed 100 tests.
  284. 1745.38 s [extra] dropEnd 5 "bye" == ""
  285. 1745.38 s [extra] +++ OK, passed 100 tests.
  286. 1745.38 s [extra] dropEnd (-1) "bye" == "bye"
  287. 1745.38 s [extra] +++ OK, passed 100 tests.
  288. 1745.38 s [extra] \i xs -> dropEnd i xs `isPrefixOf` xs
  289. 1745.38 s [extra] +++ OK, passed 100 tests.
  290. 1745.38 s [extra] \i xs -> length (dropEnd i xs) == max 0 (length xs - max 0 i)
  291. 1745.38 s [extra] +++ OK, passed 100 tests.
  292. 1745.38 s [extra] \i -> take 3 (dropEnd 5 [i..]) == take 3 [i..]
  293. 1745.38 s [extra] +++ OK, passed 100 tests.
  294. 1745.38 s [extra] splitAtEnd 3 "hello" == ("he","llo")
  295. 1745.38 s [extra] +++ OK, passed 100 tests.
  296. 1745.38 s [extra] splitAtEnd 3 "he" == ("", "he")
  297. 1745.38 s [extra] +++ OK, passed 100 tests.
  298. 1745.38 s [extra] \i xs -> uncurry (++) (splitAt i xs) == xs
  299. 1745.38 s [extra] +++ OK, passed 100 tests.
  300. 1745.38 s [extra] \i xs -> splitAtEnd i xs == (dropEnd i xs, takeEnd i xs)
  301. 1745.38 s [extra] +++ OK, passed 100 tests.
  302. 1745.38 s [extra] \i xs -> zip [i..] xs == zipFrom i xs
  303. 1745.38 s [extra] +++ OK, passed 100 tests.
  304. 1745.38 s [extra] zipFrom False [1..3] == [(False,1),(True, 2)]
  305. 1745.38 s [extra] +++ OK, passed 100 tests.
  306. 1745.38 s [extra] \i xs -> zipWithFrom (,) i xs == zipFrom i xs
  307. 1745.38 s [extra] +++ OK, passed 100 tests.
  308. 1745.38 s [extra] concatUnzip [("a","AB"),("bc","C")] == ("abc","ABC")
  309. 1745.38 s [extra] +++ OK, passed 100 tests.
  310. 1745.38 s [extra] concatUnzip3 [("a","AB",""),("bc","C","123")] == ("abc","ABC","123")
  311. 1745.38 s [extra] +++ OK, passed 100 tests.
  312. 1745.38 s [extra] takeWhileEnd even [2,3,4,6] == [4,6]
  313. 1745.38 s [extra] +++ OK, passed 100 tests.
  314. 1745.38 s [extra] trim " hello " == "hello"
  315. 1745.38 s [extra] +++ OK, passed 100 tests.
  316. 1745.38 s [extra] trimStart " hello " == "hello "
  317. 1745.38 s [extra] +++ OK, passed 100 tests.
  318. 1745.38 s [extra] trimEnd " hello " == " hello"
  319. 1745.38 s [extra] +++ OK, passed 100 tests.
  320. 1745.38 s [extra] \s -> trim s == trimEnd (trimStart s)
  321. 1745.39 s [extra] +++ OK, passed 100 tests.
  322. 1745.39 s [extra] lower "This is A TEST" == "this is a test"
  323. 1745.39 s [extra] +++ OK, passed 100 tests.
  324. 1745.39 s [extra] lower "" == ""
  325. 1745.39 s [extra] +++ OK, passed 100 tests.
  326. 1745.39 s [extra] upper "This is A TEST" == "THIS IS A TEST"
  327. 1745.39 s [extra] +++ OK, passed 100 tests.
  328. 1745.39 s [extra] upper "" == ""
  329. 1745.39 s [extra] +++ OK, passed 100 tests.
  330. 1745.39 s [extra] word1 "" == ("", "")
  331. 1745.39 s [extra] +++ OK, passed 100 tests.
  332. 1745.39 s [extra] word1 "keyword rest of string" == ("keyword","rest of string")
  333. 1745.39 s [extra] +++ OK, passed 100 tests.
  334. 1745.39 s [extra] word1 " keyword\n rest of string" == ("keyword","rest of string")
  335. 1745.39 s [extra] +++ OK, passed 100 tests.
  336. 1745.39 s [extra] \s -> fst (word1 s) == concat (take 1 $ words s)
  337. 1745.39 s [extra] +++ OK, passed 100 tests.
  338. 1745.39 s [extra] \s -> words (snd $ word1 s) == drop 1 (words s)
  339. 1745.39 s [extra] +++ OK, passed 100 tests.
  340. 1745.39 s [extra] line1 "" == ("", "")
  341. 1745.39 s [extra] +++ OK, passed 100 tests.
  342. 1745.39 s [extra] line1 "test" == ("test","")
  343. 1745.39 s [extra] +++ OK, passed 100 tests.
  344. 1745.39 s [extra] line1 "test\n" == ("test","")
  345. 1745.39 s [extra] +++ OK, passed 100 tests.
  346. 1745.39 s [extra] line1 "test\nrest" == ("test","rest")
  347. 1745.39 s [extra] +++ OK, passed 100 tests.
  348. 1745.39 s [extra] line1 "test\nrest\nmore" == ("test","rest\nmore")
  349. 1745.39 s [extra] +++ OK, passed 100 tests.
  350. 1745.39 s [extra] escapeHTML "this is a test" == "this is a test"
  351. 1745.39 s [extra] +++ OK, passed 100 tests.
  352. 1745.39 s [extra] escapeHTML "<b>\"g&t\"</n>" == "&lt;b&gt;&quot;g&amp;t&quot;&lt;/n&gt;"
  353. 1745.39 s [extra] +++ OK, passed 100 tests.
  354. 1745.39 s [extra] escapeHTML "t'was another test" == "t&#39;was another test"
  355. 1745.39 s [extra] +++ OK, passed 100 tests.
  356. 1745.39 s [extra] \xs -> unescapeHTML (escapeHTML xs) == xs
  357. 1745.39 s [extra] +++ OK, passed 100 tests.
  358. 1745.39 s [extra] escapeJSON "this is a test" == "this is a test"
  359. 1745.39 s [extra] +++ OK, passed 100 tests.
  360. 1745.39 s [extra] escapeJSON "\ttab\nnewline\\" == "\\ttab\\nnewline\\\\"
  361. 1745.39 s [extra] +++ OK, passed 100 tests.
  362. 1745.39 s [extra] escapeJSON "\ESC[0mHello" == "\\u001b[0mHello"
  363. 1745.39 s [extra] +++ OK, passed 100 tests.
  364. 1745.39 s [extra] \xs -> unescapeJSON (escapeJSON xs) == xs
  365. 1745.39 s [extra] +++ OK, passed 100 tests.
  366. 1745.39 s [extra] groupOn abs [1,-1,2] == [[1,-1], [2]]
  367. 1745.39 s [extra] +++ OK, passed 100 tests.
  368. 1745.39 s [extra] groupOnKey abs [1,-1,2] == [(1, [1,-1]), (2, [2])]
  369. 1745.39 s [extra] +++ OK, passed 100 tests.
  370. 1745.39 s [extra] maximumOn id [] == undefined
  371. 1745.39 s [extra] +++ OK, passed 100 tests.
  372. 1745.39 s [extra] maximumOn length ["test","extra","a"] == "extra"
  373. 1745.39 s [extra] +++ OK, passed 100 tests.
  374. 1745.39 s [extra] minimumOn id [] == undefined
  375. 1745.39 s [extra] +++ OK, passed 100 tests.
  376. 1745.39 s [extra] minimumOn length ["test","extra","a"] == "a"
  377. 1745.39 s [extra] +++ OK, passed 100 tests.
  378. 1745.39 s [extra] groupSort [(1,'t'),(3,'t'),(2,'e'),(2,'s')] == [(1,"t"),(2,"es"),(3,"t")]
  379. 1745.39 s [extra] +++ OK, passed 100 tests.
  380. 1745.39 s [extra] \xs -> map fst (groupSort xs) == sort (nub (map fst xs))
  381. 1745.39 s [extra] +++ OK, passed 100 tests.
  382. 1745.39 s [extra] \xs -> concatMap snd (groupSort xs) == map snd (sortOn fst xs)
  383. 1745.39 s [extra] +++ OK, passed 100 tests.
  384. 1745.39 s [extra] groupSortOn length ["test","of","sized","item"] == [["of"],["test","item"],["sized"]]
  385. 1745.39 s [extra] +++ OK, passed 100 tests.
  386. 1745.39 s [extra] groupSortBy (compare `on` length) ["test","of","sized","item"] == [["of"],["test","item"],["sized"]]
  387. 1745.39 s [extra] +++ OK, passed 100 tests.
  388. 1745.39 s [extra] sum' [1, 2, 3] == 6
  389. 1745.39 s [extra] +++ OK, passed 100 tests.
  390. 1745.39 s [extra] sumOn' read ["1", "2", "3"] == 6
  391. 1745.39 s [extra] +++ OK, passed 100 tests.
  392. 1745.39 s [extra] product' [1, 2, 4] == 8
  393. 1745.39 s [extra] +++ OK, passed 100 tests.
  394. 1745.39 s [extra] productOn' read ["1", "2", "4"] == 8
  395. 1745.39 s [extra] +++ OK, passed 100 tests.
  396. 1745.39 s [extra] merge "ace" "bd" == "abcde"
  397. 1745.39 s [extra] +++ OK, passed 100 tests.
  398. 1745.39 s [extra] \xs ys -> merge (sort xs) (sort ys) == sort (xs ++ ys)
  399. 1745.40 s [extra] +++ OK, passed 100 tests.
  400. 1745.40 s [extra] replace "el" "_" "Hello Bella" == "H_lo B_la"
  401. 1745.40 s [extra] +++ OK, passed 100 tests.
  402. 1745.40 s [extra] replace "el" "e" "Hello" == "Helo"
  403. 1745.40 s [extra] +++ OK, passed 100 tests.
  404. 1745.40 s [extra] replace "" "x" "Hello" == "xHxexlxlxox"
  405. 1745.40 s [extra] +++ OK, passed 100 tests.
  406. 1745.40 s [extra] replace "" "x" "" == "x"
  407. 1745.40 s [extra] +++ OK, passed 100 tests.
  408. 1745.40 s [extra] \xs ys -> replace xs xs ys == ys
  409. 1745.40 s [extra] +++ OK, passed 100 tests.
  410. 1745.40 s [extra] breakEnd isLower "youRE" == ("you","RE")
  411. 1745.40 s [extra] +++ OK, passed 100 tests.
  412. 1745.40 s [extra] breakEnd isLower "youre" == ("youre","")
  413. 1745.40 s [extra] +++ OK, passed 100 tests.
  414. 1745.40 s [extra] breakEnd isLower "YOURE" == ("","YOURE")
  415. 1745.40 s [extra] +++ OK, passed 100 tests.
  416. 1745.40 s [extra] \f xs -> breakEnd (not . f) xs == spanEnd f xs
  417. 1745.40 s [extra] +++ OK, passed 100 tests.
  418. 1745.40 s [extra] spanEnd isUpper "youRE" == ("you","RE")
  419. 1745.40 s [extra] +++ OK, passed 100 tests.
  420. 1745.40 s [extra] spanEnd (not . isSpace) "x y z" == ("x y ","z")
  421. 1745.40 s [extra] +++ OK, passed 100 tests.
  422. 1745.40 s [extra] \f xs -> uncurry (++) (spanEnd f xs) == xs
  423. 1745.40 s [extra] +++ OK, passed 100 tests.
  424. 1745.40 s [extra] \f xs -> spanEnd f xs == swap (both reverse (span f (reverse xs)))
  425. 1745.40 s [extra] +++ OK, passed 100 tests.
  426. 1745.40 s [extra] wordsBy (== ':') "::xyz:abc::123::" == ["xyz","abc","123"]
  427. 1745.40 s [extra] +++ OK, passed 100 tests.
  428. 1745.40 s [extra] \s -> wordsBy isSpace s == words s
  429. 1745.40 s [extra] +++ OK, passed 100 tests.
  430. 1745.40 s [extra] linesBy (== ':') "::xyz:abc::123::" == ["","","xyz","abc","","123",""]
  431. 1745.40 s [extra] +++ OK, passed 100 tests.
  432. 1745.40 s [extra] \s -> linesBy (== '\n') s == lines s
  433. 1745.40 s [extra] +++ OK, passed 100 tests.
  434. 1745.40 s [extra] linesBy (== ';') "my;list;here;" == ["my","list","here"]
  435. 1745.40 s [extra] +++ OK, passed 100 tests.
  436. 1745.40 s [extra] firstJust id [Nothing,Just 3] == Just 3
  437. 1745.40 s [extra] +++ OK, passed 100 tests.
  438. 1745.40 s [extra] firstJust id [Nothing,Nothing] == Nothing
  439. 1745.40 s [extra] +++ OK, passed 100 tests.
  440. 1745.40 s [extra] drop1 "" == ""
  441. 1745.40 s [extra] +++ OK, passed 100 tests.
  442. 1745.40 s [extra] drop1 "test" == "est"
  443. 1745.40 s [extra] +++ OK, passed 100 tests.
  444. 1745.40 s [extra] \xs -> drop 1 xs == drop1 xs
  445. 1745.40 s [extra] +++ OK, passed 100 tests.
  446. 1745.40 s [extra] dropEnd1 "" == ""
  447. 1745.40 s [extra] +++ OK, passed 100 tests.
  448. 1745.40 s [extra] dropEnd1 "test" == "tes"
  449. 1745.40 s [extra] +++ OK, passed 100 tests.
  450. 1745.40 s [extra] \xs -> dropEnd 1 xs == dropEnd1 xs
  451. 1745.40 s [extra] +++ OK, passed 100 tests.
  452. 1745.40 s [extra] mconcatMap Sum [1,2,3] == Sum 6
  453. 1745.40 s [extra] +++ OK, passed 100 tests.
  454. 1745.40 s [extra] \f xs -> mconcatMap f xs == concatMap f xs
  455. 1745.41 s [extra] +++ OK, passed 100 tests.
  456. 1745.41 s [extra] breakOn "::" "a::b::c" == ("a", "::b::c")
  457. 1745.41 s [extra] +++ OK, passed 100 tests.
  458. 1745.41 s [extra] breakOn "/" "foobar" == ("foobar", "")
  459. 1745.41 s [extra] +++ OK, passed 100 tests.
  460. 1745.41 s [extra] \needle haystack -> let (prefix,match) = breakOn needle haystack in prefix ++ match == haystack
  461. 1745.41 s [extra] +++ OK, passed 100 tests.
  462. 1745.41 s [extra] breakOnEnd "::" "a::b::c" == ("a::b::", "c")
  463. 1745.41 s [extra] +++ OK, passed 100 tests.
  464. 1745.41 s [extra] splitOn "\r\n" "a\r\nb\r\nd\r\ne" == ["a","b","d","e"]
  465. 1745.41 s [extra] +++ OK, passed 100 tests.
  466. 1745.41 s [extra] splitOn "aaa" "aaaXaaaXaaaXaaa" == ["","X","X","X",""]
  467. 1745.41 s [extra] +++ OK, passed 100 tests.
  468. 1745.41 s [extra] splitOn "x" "x" == ["",""]
  469. 1745.41 s [extra] +++ OK, passed 100 tests.
  470. 1745.41 s [extra] splitOn "x" "" == [""]
  471. 1745.41 s [extra] +++ OK, passed 100 tests.
  472. 1745.41 s [extra] \s x -> s /= "" ==> intercalate s (splitOn s x) == x
  473. 1745.41 s [extra] +++ OK, passed 100 tests; 15 discarded.
  474. 1745.41 s [extra] \c x -> splitOn [c] x == split (==c) x
  475. 1745.42 s [extra] +++ OK, passed 100 tests.
  476. 1745.42 s [extra] split (== 'a') "aabbaca" == ["","","bb","c",""]
  477. 1745.42 s [extra] +++ OK, passed 100 tests.
  478. 1745.42 s [extra] split (== 'a') "" == [""]
  479. 1745.42 s [extra] +++ OK, passed 100 tests.
  480. 1745.42 s [extra] split (== ':') "::xyz:abc::123::" == ["","","xyz","abc","","123","",""]
  481. 1745.42 s [extra] +++ OK, passed 100 tests.
  482. 1745.42 s [extra] split (== ',') "my,list,here" == ["my","list","here"]
  483. 1745.42 s [extra] +++ OK, passed 100 tests.
  484. 1745.42 s [extra] dropWhileEnd isSpace "ab cde " == "ab cde"
  485. 1745.42 s [extra] +++ OK, passed 100 tests.
  486. 1745.42 s [extra] dropWhileEnd' isSpace "ab cde " == "ab cde"
  487. 1745.42 s [extra] +++ OK, passed 100 tests.
  488. 1745.42 s [extra] last (dropWhileEnd even [undefined,3]) == undefined
  489. 1745.42 s [extra] +++ OK, passed 100 tests.
  490. 1745.42 s [extra] last (dropWhileEnd' even [undefined,3]) == 3
  491. 1745.42 s [extra] +++ OK, passed 100 tests.
  492. 1745.42 s [extra] head (dropWhileEnd even (3:undefined)) == 3
  493. 1745.42 s [extra] +++ OK, passed 100 tests.
  494. 1745.42 s [extra] head (dropWhileEnd' even (3:undefined)) == undefined
  495. 1745.42 s [extra] +++ OK, passed 100 tests.
  496. 1745.42 s [extra] dropPrefix "Mr. " "Mr. Men" == "Men"
  497. 1745.42 s [extra] +++ OK, passed 100 tests.
  498. 1745.42 s [extra] dropPrefix "Mr. " "Dr. Men" == "Dr. Men"
  499. 1745.42 s [extra] +++ OK, passed 100 tests.
  500. 1745.42 s [extra] dropSuffix "!" "Hello World!" == "Hello World"
  501. 1745.42 s [extra] +++ OK, passed 100 tests.
  502. 1745.42 s [extra] dropSuffix "!" "Hello World!!" == "Hello World!"
  503. 1745.42 s [extra] +++ OK, passed 100 tests.
  504. 1745.42 s [extra] dropSuffix "!" "Hello World." == "Hello World."
  505. 1745.42 s [extra] +++ OK, passed 100 tests.
  506. 1745.42 s [extra] stripSuffix "bar" "foobar" == Just "foo"
  507. 1745.42 s [extra] +++ OK, passed 100 tests.
  508. 1745.42 s [extra] stripSuffix "" "baz" == Just "baz"
  509. 1745.42 s [extra] +++ OK, passed 100 tests.
  510. 1745.42 s [extra] stripSuffix "foo" "quux" == Nothing
  511. 1745.42 s [extra] +++ OK, passed 100 tests.
  512. 1745.42 s [extra] stripInfix "::" "a::b::c" == Just ("a", "b::c")
  513. 1745.42 s [extra] +++ OK, passed 100 tests.
  514. 1745.42 s [extra] stripInfix "/" "foobar" == Nothing
  515. 1745.42 s [extra] +++ OK, passed 100 tests.
  516. 1745.42 s [extra] stripInfixEnd "::" "a::b::c" == Just ("a::b", "c")
  517. 1745.42 s [extra] +++ OK, passed 100 tests.
  518. 1745.42 s [extra] chunksOf 3 "my test" == ["my ","tes","t"]
  519. 1745.42 s [extra] +++ OK, passed 100 tests.
  520. 1745.42 s [extra] chunksOf 3 "mytest" == ["myt","est"]
  521. 1745.43 s [extra] +++ OK, passed 100 tests.
  522. 1745.43 s [extra] chunksOf 8 "" == []
  523. 1745.43 s [extra] +++ OK, passed 100 tests.
  524. 1745.43 s [extra] chunksOf 0 "test" == undefined
  525. 1745.43 s [extra] +++ OK, passed 100 tests.
  526. 1745.43 s [extra] nubSort "this is a test" == " aehist"
  527. 1745.43 s [extra] +++ OK, passed 100 tests.
  528. 1745.43 s [extra] \xs -> nubSort xs == nub (sort xs)
  529. 1745.43 s [extra] +++ OK, passed 100 tests.
  530. 1745.43 s [extra] nubSortOn length ["a","test","of","this"] == ["a","of","test"]
  531. 1745.43 s [extra] +++ OK, passed 100 tests.
  532. 1745.43 s [extra] nubSortBy (compare `on` length) ["a","test","of","this"] == ["a","of","test"]
  533. 1745.43 s [extra] +++ OK, passed 100 tests.
  534. 1745.43 s [extra] nubOrd "this is a test" == "this ae"
  535. 1745.43 s [extra] +++ OK, passed 100 tests.
  536. 1745.43 s [extra] nubOrd (take 4 ("this" ++ undefined)) == "this"
  537. 1745.43 s [extra] +++ OK, passed 100 tests.
  538. 1745.43 s [extra] \xs -> nubOrd xs == nub xs
  539. 1745.43 s [extra] +++ OK, passed 100 tests.
  540. 1745.43 s [extra] nubOrdOn length ["a","test","of","this"] == ["a","test","of"]
  541. 1745.43 s [extra] +++ OK, passed 100 tests.
  542. 1745.43 s [extra] nubOrdBy (compare `on` length) ["a","test","of","this"] == ["a","test","of"]
  543. 1745.43 s [extra] +++ OK, passed 100 tests.
  544. 1745.43 s [extra] zipWithLongest (,) "a" "xyz" == [(Just 'a', Just 'x'), (Nothing, Just 'y'), (Nothing, Just 'z')]
  545. 1745.43 s [extra] +++ OK, passed 100 tests.
  546. 1745.43 s [extra] zipWithLongest (,) "a" "x" == [(Just 'a', Just 'x')]
  547. 1745.43 s [extra] +++ OK, passed 100 tests.
  548. 1745.43 s [extra] zipWithLongest (,) "" "x" == [(Nothing, Just 'x')]
  549. 1745.43 s [extra] +++ OK, passed 100 tests.
  550. 1745.43 s [extra] comparingLength [1,2,3] [False] == GT
  551. 1745.43 s [extra] +++ OK, passed 100 tests.
  552. 1745.43 s [extra] comparingLength [1,2] "ab" == EQ
  553. 1745.43 s [extra] +++ OK, passed 100 tests.
  554. 1745.43 s [extra] \(xs :: [Int]) (ys :: [Int]) -> comparingLength xs ys == Data.Ord.comparing length xs ys
  555. 1745.43 s [extra] +++ OK, passed 100 tests.
  556. 1745.43 s [extra] comparingLength [1,2] (1:2:3:undefined) == LT
  557. 1745.43 s [extra] +++ OK, passed 100 tests.
  558. 1745.43 s [extra] comparingLength (1:2:3:undefined) [1,2] == GT
  559. 1745.43 s [extra] +++ OK, passed 100 tests.
  560. 1745.43 s [extra] mwhen True "test" == "test"
  561. 1745.43 s [extra] +++ OK, passed 100 tests.
  562. 1745.43 s [extra] mwhen False "test" == ""
  563. 1745.43 s [extra] +++ OK, passed 100 tests.
  564. 1745.43 s [extra] first succ (1,"test") == (2,"test")
  565. 1745.43 s [extra] +++ OK, passed 100 tests.
  566. 1745.43 s [extra] second reverse (1,"test") == (1,"tset")
  567. 1745.43 s [extra] +++ OK, passed 100 tests.
  568. 1745.43 s [extra] firstM (\x -> [x-1, x+1]) (1,"test") == [(0,"test"),(2,"test")]
  569. 1745.43 s [extra] +++ OK, passed 100 tests.
  570. 1745.43 s [extra] secondM (\x -> [reverse x, x]) (1,"test") == [(1,"tset"),(1,"test")]
  571. 1745.43 s [extra] +++ OK, passed 100 tests.
  572. 1745.43 s [extra] (succ *** reverse) (1,"test") == (2,"tset")
  573. 1745.43 s [extra] +++ OK, passed 100 tests.
  574. 1745.43 s [extra] (succ &&& pred) 1 == (2,0)
  575. 1745.43 s [extra] +++ OK, passed 100 tests.
  576. 1745.43 s [extra] dupe 12 == (12, 12)
  577. 1745.43 s [extra] +++ OK, passed 100 tests.
  578. 1745.43 s [extra] both succ (1,2) == (2,3)
  579. 1745.43 s [extra] +++ OK, passed 100 tests.
  580. 1745.43 s [extra] first3 succ (1,1,1) == (2,1,1)
  581. 1745.43 s [extra] +++ OK, passed 100 tests.
  582. 1745.43 s [extra] second3 succ (1,1,1) == (1,2,1)
  583. 1745.43 s [extra] +++ OK, passed 100 tests.
  584. 1745.43 s [extra] third3 succ (1,1,1) == (1,1,2)
  585. 1745.43 s [extra] +++ OK, passed 100 tests.
  586. 1745.43 s [extra] \x -> readVersion (showVersion x) == x
  587. 1745.43 s [extra] +++ OK, passed 100 tests.
  588. 1745.43 s [extra] readVersion "hello" == undefined
  589. 1745.43 s [extra] +++ OK, passed 100 tests.
  590. 1745.43 s [extra] showDP 4 pi == "3.1416"
  591. 1745.43 s [extra] +++ OK, passed 100 tests.
  592. 1745.43 s [extra] showDP 0 pi == "3"
  593. 1745.43 s [extra] +++ OK, passed 100 tests.
  594. 1745.43 s [extra] showDP 2 3 == "3.00"
  595. 1745.43 s [extra] +++ OK, passed 100 tests.
  596. 1745.43 s [extra] withTempDir $ \dir -> do writeFile (dir </> "foo.txt") ""; withCurrentDirectory dir $ doesFileExist "foo.txt"
  597. 1745.43 s [extra] +++ OK, passed 100 tests.
  598. 1745.43 s [extra] withTempDir $ \dir -> do writeFile (dir </> "test.txt") ""; (== [dir </> "test.txt"]) <$> listContents dir
  599. 1745.44 s [extra] +++ OK, passed 100 tests.
  600. 1745.44 s [extra] listTest listContents ["bar.txt","foo/baz.txt","zoo"] ["bar.txt","foo","zoo"]
  601. 1745.44 s [extra] +++ OK, passed 100 tests.
  602. 1745.44 s [extra] listTest listDirectories ["bar.txt","foo/baz.txt","zoo"] ["foo"]
  603. 1745.44 s [extra] +++ OK, passed 100 tests.
  604. 1745.44 s [extra] listTest listFiles ["bar.txt","foo/baz.txt","zoo"] ["bar.txt","zoo"]
  605. 1745.44 s [extra] +++ OK, passed 100 tests.
  606. 1745.44 s [extra] listTest listFilesRecursive ["bar.txt","zoo","foo" </> "baz.txt"] ["bar.txt","zoo","foo" </> "baz.txt"]
  607. 1745.44 s [extra] +++ OK, passed 100 tests.
  608. 1745.44 s [extra] listTest (listFilesInside $ pure . not . isPrefixOf "." . takeFileName) ["bar.txt","foo" </> "baz.txt",".foo" </> "baz2.txt", "zoo"] ["bar.txt","zoo","foo" </> "baz.txt"]
  609. 1745.44 s [extra] +++ OK, passed 100 tests.
  610. 1745.44 s [extra] listTest (listFilesInside $ const $ pure False) ["bar.txt"] []
  611. 1745.44 s [extra] +++ OK, passed 100 tests.
  612. 1745.44 s [extra] isWindows == (os == "mingw32")
  613. 1745.44 s [extra] +++ OK, passed 100 tests.
  614. 1745.44 s [extra] \(filter isHexDigit -> s) -> fmap (== s) $ withTempFile $ \file -> do writeFile file s; readFile' file
  615. 1745.46 s [extra] +++ OK, passed 100 tests.
  616. 1745.46 s [extra] \s -> withTempFile $ \file -> do writeFileUTF8 file s; fmap (== s) $ readFileUTF8' file
  617. 1745.47 s [extra] +++ OK, passed 100 tests.
  618. 1745.63 s [extra] \(ASCIIString s) -> withTempFile $ \file -> do writeFileBinary file s; fmap (== s) $ readFileBinary' file
  619. 1745.63 s [extra] +++ OK, passed 100 tests.
  620. 1745.63 s [extra] captureOutput (print 1) == pure ("1\n",())
  621. 1745.63 s [extra] +++ OK, passed 100 tests.
  622. 1745.63 s [extra] withTempFile doesFileExist == pure True
  623. 1745.63 s [extra] +++ OK, passed 100 tests.
  624. 1745.63 s [extra] (doesFileExist =<< withTempFile pure) == pure False
  625. 1745.63 s [extra] +++ OK, passed 100 tests.
  626. 1745.63 s [extra] withTempFile readFile' == pure ""
  627. 1745.63 s [extra] +++ OK, passed 100 tests.
  628. 1745.63 s [extra] withTempDir doesDirectoryExist == pure True
  629. 1745.63 s [extra] +++ OK, passed 100 tests.
  630. 1745.63 s [extra] (doesDirectoryExist =<< withTempDir pure) == pure False
  631. 1745.63 s [extra] +++ OK, passed 100 tests.
  632. 1745.63 s [extra] withTempDir listFiles == pure []
  633. 1745.63 s [extra] +++ OK, passed 100 tests.
  634. 1745.63 s [extra] fileEq "does_not_exist1" "does_not_exist2" == undefined
  635. 1745.63 s [extra] +++ OK, passed 100 tests.
  636. 1745.63 s [extra] fileEq "does_not_exist" "does_not_exist" == undefined
  637. 1745.63 s [extra] +++ OK, passed 100 tests.
  638. 1745.63 s [extra] withTempFile $ \f1 -> fileEq "does_not_exist" f1 == undefined
  639. 1745.63 s [extra] +++ OK, passed 100 tests.
  640. 1745.63 s [extra] withTempFile $ \f1 -> withTempFile $ \f2 -> fileEq f1 f2
  641. 1745.63 s [extra] +++ OK, passed 100 tests.
  642. 1745.63 s [extra] withTempFile $ \f1 -> withTempFile $ \f2 -> writeFile f1 "a" >> writeFile f2 "a" >> fileEq f1 f2
  643. 1745.63 s [extra] +++ OK, passed 100 tests.
  644. 1745.63 s [extra] withTempFile $ \f1 -> withTempFile $ \f2 -> writeFile f1 "a" >> writeFile f2 "b" >> notM (fileEq f1 f2)
  645. 1745.63 s [extra] +++ OK, passed 100 tests.
  646. 1745.63 s [extra] fmap (round . fst) (duration $ sleep 1) == pure 1
  647. 1746.49 s [extra] +++ OK, passed 100 tests.
  648. 1746.49 s [extra] timeout (-3) (print 1) == pure Nothing
  649. 1746.49 s [extra] +++ OK, passed 100 tests.
  650. 1746.49 s [extra] timeout 0.1 (print 1) == fmap Just (print 1)
  651. 1746.49 s [extra] +++ OK, passed 100 tests.
  652. 1746.49 s [extra] do (t, _) <- duration $ timeout 0.1 $ sleep 1000; print t; pure $ t < 1
  653. 1746.59 s [extra] 0.10022230600000001
  654. 1746.59 s [extra] +++ OK, passed 100 tests.
  655. 1746.59 s [extra] timeout 0.1 (sleep 2 >> print 1) == pure Nothing
  656. 1746.69 s [extra] +++ OK, passed 100 tests.
  657. 1746.69 s [extra] showDuration 3.435 == "3.44s"
  658. 1746.69 s [extra] +++ OK, passed 100 tests.
  659. 1746.69 s [extra] showDuration 623.8 == "10m24s"
  660. 1746.69 s [extra] +++ OK, passed 100 tests.
  661. 1746.69 s [extra] showDuration 62003.8 == "17h13m"
  662. 1746.69 s [extra] +++ OK, passed 100 tests.
  663. 1746.69 s [extra] showDuration 1e8 == "27777h47m"
  664. 1746.69 s [extra] +++ OK, passed 100 tests.
  665. 1746.69 s [extra] do f <- offsetTime; xs <- replicateM 10 f; pure $ xs == sort xs
  666. 1746.69 s [extra] +++ OK, passed 100 tests.
  667. 1746.70 s [extra] do (a,_) <- duration $ sleep 1; pure $ a >= 1 && a <= 1.5
  668. 1747.70 s [extra] +++ OK, passed 100 tests.
  669. 1747.70 s [extra] Extra export
  670. 1747.70 s [extra] +++ OK, passed 100 tests.
  671. 1747.70 s [extra] withTempFile
  672. 1747.70 s [extra] ....done
  673. 1747.70 s [extra] withTempDir
  674. 1747.72 s [extra] ....done
  675. 1747.72 s [extra] retry
  676. 1747.72 s [extra] +++ OK, passed 100 tests.
  677. 1747.72 s [extra] barrier
  678. 1747.72 s [extra] Success (325 tests)
  679. 1747.75 s [extra] Test suite extra-test: PASS
  680. 1747.75 s [extra] Test suite logged to: dist/test/extra-1.8.1-extra-test.log
  681. 1747.75 s [extra] 1 of 1 test suites (1 of 1 test cases) passed.
  682. 1747.77 s [extra] Phase: haddockPhase
  683. 1747.90 s [extra] Preprocessing library for extra-1.8.1..
  684. 1747.91 s [extra] Running Haddock on library for extra-1.8.1..
  685. 1747.97 s [extra] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
  686. 1748.58 s [extra] 100% ( 6 / 6) in 'Data.IORef.Extra'
  687. 1748.64 s [extra] 100% ( 4 / 4) in 'Data.Monoid.Extra'
  688. 1748.66 s [extra] Warning: 'Arrow' is out of scope.
  689. 1748.66 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  690. 1748.66 s [extra] 100% ( 22 / 22) in 'Data.Tuple.Extra'
  691. 1748.78 s [extra] 100% ( 2 / 2) in 'Data.Typeable.Extra'
  692. 1748.80 s [extra] 100% ( 7 / 7) in 'Numeric.Extra'
  693. 1749.06 s [extra] Warning: '(:)' is out of scope.
  694. 1749.06 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  695. 1749.06 s [extra] Warning: 'firstJustM' is out of scope.
  696. 1749.06 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  697. 1749.07 s [extra] 100% ( 85 / 85) in 'Data.List.Extra'
  698. 1749.25 s [extra] 100% ( 3 / 3) in 'Data.Version.Extra'
  699. 1749.36 s [extra] Warning: 'length' is ambiguous. It is defined
  700. 1749.36 s [extra] * in ‘Data.Foldable’
  701. 1749.36 s [extra] * in ‘Data.List.NonEmpty’
  702. 1749.36 s [extra] You may be able to disambiguate the identifier by qualifying it or
  703. 1749.36 s [extra] by specifying the type/value namespace explicitly.
  704. 1749.36 s [extra] Defaulting to the one defined in ‘Data.Foldable’
  705. 1749.36 s [extra] 100% ( 23 / 23) in 'Data.List.NonEmpty.Extra'
  706. 1749.46 s [extra] Warning: 'fromJust' is out of scope.
  707. 1749.46 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  708. 1749.46 s [extra] 100% ( 11 / 11) in 'Data.Either.Extra'
  709. 1749.49 s [extra] 100% ( 21 / 21) in 'Control.Exception.Extra'
  710. 1749.51 s [extra] Warning: 'partition' is out of scope.
  711. 1749.51 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  712. 1749.51 s [extra] Warning: 'mconcatMap' is out of scope.
  713. 1749.51 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  714. 1749.51 s [extra] Warning: 'find' is out of scope.
  715. 1749.51 s [extra] If you qualify the identifier, haddock can try to link it anyway.
  716. 1749.51 s [extra] 100% ( 40 / 40) in 'Control.Monad.Extra'
  717. 1749.54 s [extra] 92% ( 13 / 14) in 'Data.Foldable.Extra'
  718. 1749.54 s [extra] Missing documentation for:
  719. 1749.54 s [extra] Module header
  720. 1749.56 s [extra] 100% ( 27 / 27) in 'Control.Concurrent.Extra'
  721. 1749.63 s [extra] 100% ( 8 / 8) in 'System.Directory.Extra'
  722. 1749.63 s [extra] 100% ( 2 / 2) in 'System.Environment.Extra'
  723. 1749.63 s [haskell-language-server] Preprocessing library 'hls-alternate-number-format-plugin' for haskell-language-server-2.12.0.0..
  724. 1749.63 s [haskell-language-server] Building library 'hls-alternate-number-format-plugin' for haskell-language-server-2.12.0.0..
  725. 1749.66 s [extra] 100% ( 26 / 26) in 'System.IO.Extra'
  726. 1749.68 s [extra] 100% ( 4 / 4) in 'System.Info.Extra'
  727. 1749.68 s [extra] 100% ( 5 / 5) in 'System.Process.Extra'
  728. 1749.69 s [extra] 100% ( 8 / 8) in 'System.Time.Extra'
  729. 1749.75 s [extra] 100% (270 /270) in 'Extra'
  730. 1749.80 s [haskell-language-server] [1 of 3] Compiling Ide.Plugin.Literals ( plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/Literals.hs, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/Literals.o, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/Literals.dyn_o )
  731. 1749.81 s [extra] 100% ( 2 / 2) in 'Text.Read.Extra'
  732. 1750.90 s [haskell-language-server] [2 of 3] Compiling Ide.Plugin.Conversion ( plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/Conversion.hs, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/Conversion.o, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/Conversion.dyn_o )
  733. 1751.44 s [haskell-language-server] [3 of 3] Compiling Ide.Plugin.AlternateNumberFormat ( plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/AlternateNumberFormat.o, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/AlternateNumberFormat.dyn_o )
  734. 1752.49 s [extra] Documentation created: dist/doc/html/extra/, dist/doc/html/extra/extra.txt
  735. 1752.54 s [extra] Preprocessing test suite 'extra-test' for extra-1.8.1..
  736. 1752.55 s [extra] Phase: installPhase
  737. 1752.61 s [extra] Installing library in /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/extra-1.8.1-mqL7YRifC8HhGrjpGYIL3
  738. 1752.70 s [haskell-language-server] [1 of 3] Compiling Ide.Plugin.Literals ( plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/Literals.hs, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/Literals.p_o )
  739. 1753.03 s [extra] Phase: fixupPhase
  740. 1753.05 s [extra] shrinking RPATHs of ELF executables and libraries in /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1
  741. 1753.06 s [extra] shrinking /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/libHSextra-1.8.1-mqL7YRifC8HhGrjpGYIL3-ghc9.6.7.so
  742. 1753.07 s [extra] checking for references to /build/ in /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1...
  743. 1753.10 s [extra] patching script interpreter paths in /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1
  744. 1753.11 s [extra] stripping (with command strip and flags -S -p) in /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1/lib
  745. 1753.21 s [extra] shrinking RPATHs of ELF executables and libraries in /nix/store/64asrs9sb1pv96n1f4cqms2wwxbs9mvf-extra-1.8.1-doc
  746. 1753.22 s [extra] checking for references to /build/ in /nix/store/64asrs9sb1pv96n1f4cqms2wwxbs9mvf-extra-1.8.1-doc...
  747. 1753.25 s [extra] patching script interpreter paths in /nix/store/64asrs9sb1pv96n1f4cqms2wwxbs9mvf-extra-1.8.1-doc
  748. 1753.37 s [post-build-hook] Uploading to cachix cache "sellout": /nix/store/64asrs9sb1pv96n1f4cqms2wwxbs9mvf-extra-1.8.1-doc /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1
  749. 1753.92 s [post-build-hook] Nothing to push - all store paths are already on Cachix.
  750. 1753.94 s [post-build-hook] Uploading to the NixCI cache: /nix/store/64asrs9sb1pv96n1f4cqms2wwxbs9mvf-extra-1.8.1-doc /nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1
  751. 1753.99 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  752. 1754.08 s [post-build-hook] copying 1 paths...
  753. 1754.08 s [post-build-hook] copying path '/nix/store/rf03mfps4q6lyfg6w6i86nq8jhfdrbhn-extra-1.8.1' to 'https://cache.nix-ci.com'...
  754. 1755.31 s [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  755. 1755.45 s [post-build-hook] copying 0 paths...
  756. 1755.47 s Progress: 52 of 58 built (1 building), 1121 of 1121 downloaded from cache
  757. 1755.53 s Building algebraic-graphs
  758. 1755.53 s [haskell-language-server] [2 of 3] Compiling Ide.Plugin.Conversion ( plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/Conversion.hs, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/Conversion.p_o )
  759. 1755.53 s [haskell-language-server] [3 of 3] Compiling Ide.Plugin.AlternateNumberFormat ( plugins/hls-alternate-number-format-plugin/src/Ide/Plugin/AlternateNumberFormat.hs, dist/build/hls-alternate-number-format-plugin/Ide/Plugin/AlternateNumberFormat.p_o )
  760. 1755.62 s [algebraic-graphs] Phase: setupCompilerEnvironmentPhase
  761. 1755.62 s [algebraic-graphs] Build with /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7.
  762. 1755.75 s [algebraic-graphs] Phase: unpackPhase
  763. 1755.75 s [algebraic-graphs] unpacking source archive /nix/store/gfjyfw1hcshbfclk91difmkphwib8nbd-algebraic-graphs-0.7.tar.gz
  764. 1755.76 s [algebraic-graphs] source root is algebraic-graphs-0.7
  765. 1755.77 s [algebraic-graphs] setting SOURCE_DATE_EPOCH to timestamp 1655769405 of file "algebraic-graphs-0.7/test/Data/Graph/Test/Typed.hs"
  766. 1755.77 s [algebraic-graphs] Phase: patchPhase
  767. 1755.78 s [algebraic-graphs] Replace Cabal file with edited version from mirror://hackage/algebraic-graphs-0.7/revision/3.cabal.
  768. 1755.78 s [algebraic-graphs] applying patch /nix/store/fgaciccwb2z0jmfhs30a1vq03azpd9qd-algebraic-graphs-0.7-allow-inspection-testing-0.6.patch
  769. 1755.78 s [algebraic-graphs] patching file algebraic-graphs.cabal
  770. 1755.79 s [algebraic-graphs] Phase: compileBuildDriverPhase
  771. 1755.79 s [algebraic-graphs] setupCompileFlags: -package-db=/build/tmp.zpJ4OvSX3k/setup-package.conf.d -threaded
  772. 1755.84 s [algebraic-graphs] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.zpJ4OvSX3k/Main.o )
  773. 1755.89 s [algebraic-graphs] [2 of 2] Linking Setup
  774. 1757.01 s [algebraic-graphs] Phase: updateAutotoolsGnuConfigScriptsPhase
  775. 1757.02 s [algebraic-graphs] Phase: configurePhase
  776. 1757.03 s [algebraic-graphs] configureFlags: --verbose --prefix=/nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/ak449r7dq796x3xizfgl3vr4adgaxsaw-algebraic-graphs-0.7-doc/share/doc/algebraic-graphs-0.7 --with-gcc=gcc --package-db=/build/tmp.zpJ4OvSX3k/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/xp8g8298vbm4k9ipj14xf1r4rh899hr4-ncurses-6.5/lib --extra-lib-dirs=/nix/store/wxm6pczq28ppr7ffwclsl6njbzzr48zf-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/3f0hp921ncxr249f5lmspc8silkqr8f7-elfutils-0.194/lib --extra-lib-dirs=/nix/store/km81slwkcc82dbwywl10gpffjb78g6ni-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/fvsl0b39y6ns2z66gfvc2raca3b5wr18-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/lib
  777. 1757.08 s [algebraic-graphs] Using Parsec parser
  778. 1757.08 s [algebraic-graphs] Configuring algebraic-graphs-0.7...
  779. 1757.35 s [algebraic-graphs] Dependency array >=0.4 && <0.6: using array-0.5.8.0
  780. 1757.35 s [algebraic-graphs] Dependency base >=4.11 && <5: using base-4.18.3.0
  781. 1757.35 s [algebraic-graphs] Dependency containers >=0.5.5.1 && <0.8: using containers-0.6.7
  782. 1757.35 s [algebraic-graphs] Dependency deepseq >=1.3.0.1 && <1.6: using deepseq-1.4.8.1
  783. 1757.35 s [algebraic-graphs] Dependency transformers >=0.4 && <0.7: using transformers-0.6.1.0
  784. 1757.35 s [algebraic-graphs] Dependency QuickCheck >=2.14 && <2.16: using QuickCheck-2.15.0.1
  785. 1757.35 s [algebraic-graphs] Dependency algebraic-graphs: using algebraic-graphs-0.7
  786. 1757.35 s [algebraic-graphs] Dependency array >=0.4 && <0.6: using array-0.5.8.0
  787. 1757.35 s [algebraic-graphs] Dependency base >=4.11 && <5: using base-4.18.3.0
  788. 1757.35 s [algebraic-graphs] Dependency containers >=0.5.5.1 && <0.8: using containers-0.6.7
  789. 1757.35 s [algebraic-graphs] Dependency deepseq >=1.3.0.1 && <1.6: using deepseq-1.4.8.1
  790. 1757.35 s [algebraic-graphs] Dependency extra >=1.4 && <2: using extra-1.8.1
  791. 1757.35 s [algebraic-graphs] Dependency inspection-testing >=0.4.2.2 && <0.7: using
  792. 1757.35 s [algebraic-graphs] inspection-testing-0.6.2
  793. 1757.35 s [algebraic-graphs] Dependency transformers >=0.4 && <0.7: using transformers-0.6.1.0
  794. 1757.68 s [algebraic-graphs] Source component graph:
  795. 1757.68 s [algebraic-graphs] component lib
  796. 1757.68 s [algebraic-graphs] component test:main dependency lib
  797. 1757.68 s [algebraic-graphs] Configured component graph:
  798. 1757.68 s [algebraic-graphs] component algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  799. 1757.68 s [algebraic-graphs] include array-0.5.8.0
  800. 1757.68 s [algebraic-graphs] include base-4.18.3.0
  801. 1757.68 s [algebraic-graphs] include containers-0.6.7
  802. 1757.68 s [algebraic-graphs] include deepseq-1.4.8.1
  803. 1757.68 s [algebraic-graphs] include transformers-0.6.1.0
  804. 1757.68 s [algebraic-graphs] component algebraic-graphs-0.7-Hb7qr09bMx9JHq5kA09kif-main
  805. 1757.68 s [algebraic-graphs] include QuickCheck-2.15.0.1-8TOXA7GkEi42wTg0ODsItP
  806. 1757.68 s [algebraic-graphs] include algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  807. 1757.68 s [algebraic-graphs] include array-0.5.8.0
  808. 1757.68 s [algebraic-graphs] include base-4.18.3.0
  809. 1757.68 s [algebraic-graphs] include containers-0.6.7
  810. 1757.68 s [algebraic-graphs] include deepseq-1.4.8.1
  811. 1757.68 s [algebraic-graphs] include extra-1.8.1-mqL7YRifC8HhGrjpGYIL3
  812. 1757.68 s [algebraic-graphs] include inspection-testing-0.6.2-3QX2depSWaUFw922pdySLQ
  813. 1757.68 s [algebraic-graphs] include transformers-0.6.1.0
  814. 1757.68 s [algebraic-graphs] Linked component graph:
  815. 1757.68 s [algebraic-graphs] unit algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  816. 1757.68 s [algebraic-graphs] include array-0.5.8.0
  817. 1757.68 s [algebraic-graphs] include base-4.18.3.0
  818. 1757.68 s [algebraic-graphs] include containers-0.6.7
  819. 1757.68 s [algebraic-graphs] include deepseq-1.4.8.1
  820. 1757.68 s [algebraic-graphs] include transformers-0.6.1.0
  821. 1757.68 s [algebraic-graphs] Algebra.Graph=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph,Algebra.Graph.Acyclic.AdjacencyMap=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Acyclic.AdjacencyMap,Algebra.Graph.AdjacencyIntMap=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.AdjacencyIntMap,Algebra.Graph.AdjacencyIntMap.Algorithm=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.AdjacencyIntMap.Algorithm,Algebra.Graph.AdjacencyMap=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.AdjacencyMap,Algebra.Graph.AdjacencyMap.Algorithm=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.AdjacencyMap.Algorithm,Algebra.Graph.Bipartite.AdjacencyMap=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Bipartite.AdjacencyMap,Algebra.Graph.Bipartite.AdjacencyMap.Algorithm=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Bipartite.AdjacencyMap.Algorithm,Algebra.Graph.Class=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Class,Algebra.Graph.Example.Todo=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Example.Todo,Algebra.Graph.Export=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Export,Algebra.Graph.Export.Dot=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Export.Dot,Algebra.Graph.HigherKinded.Class=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.HigherKinded.Class,Algebra.Graph.Internal=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Internal,Algebra.Graph.Label=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Label,Algebra.Graph.Labelled=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Labelled,Algebra.Graph.Labelled.AdjacencyMap=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Labelled.AdjacencyMap,Algebra.Graph.Labelled.Example.Automaton=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Labelled.Example.Automaton,Algebra.Graph.Labelled.Example.Network=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Labelled.Example.Network,Algebra.Graph.NonEmpty=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.NonEmpty,Algebra.Graph.NonEmpty.AdjacencyMap=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.NonEmpty.AdjacencyMap,Algebra.Graph.Relation=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Relation,Algebra.Graph.Relation.Preorder=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Relation.Preorder,Algebra.Graph.Relation.Reflexive=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Relation.Reflexive,Algebra.Graph.Relation.Symmetric=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Relation.Symmetric,Algebra.Graph.Relation.Transitive=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Relation.Transitive,Algebra.Graph.ToGraph=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.ToGraph,Algebra.Graph.Undirected=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Algebra.Graph.Undirected,Data.Graph.Typed=algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE:Data.Graph.Typed
  822. 1757.68 s [algebraic-graphs] unit algebraic-graphs-0.7-Hb7qr09bMx9JHq5kA09kif-main
  823. 1757.68 s [algebraic-graphs] include QuickCheck-2.15.0.1-8TOXA7GkEi42wTg0ODsItP
  824. 1757.68 s [algebraic-graphs] include algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  825. 1757.68 s [algebraic-graphs] include array-0.5.8.0
  826. 1757.68 s [algebraic-graphs] include base-4.18.3.0
  827. 1757.68 s [algebraic-graphs] include containers-0.6.7
  828. 1757.68 s [algebraic-graphs] include deepseq-1.4.8.1
  829. 1757.68 s [algebraic-graphs] include extra-1.8.1-mqL7YRifC8HhGrjpGYIL3
  830. 1757.68 s [algebraic-graphs] include inspection-testing-0.6.2-3QX2depSWaUFw922pdySLQ
  831. 1757.68 s [algebraic-graphs] include transformers-0.6.1.0
  832. 1757.69 s [algebraic-graphs] Ready component graph:
  833. 1757.69 s [algebraic-graphs] definite algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  834. 1757.69 s [algebraic-graphs] depends array-0.5.8.0
  835. 1757.69 s [algebraic-graphs] depends base-4.18.3.0
  836. 1757.69 s [algebraic-graphs] depends containers-0.6.7
  837. 1757.69 s [algebraic-graphs] depends deepseq-1.4.8.1
  838. 1757.69 s [algebraic-graphs] depends transformers-0.6.1.0
  839. 1757.69 s [algebraic-graphs] definite algebraic-graphs-0.7-Hb7qr09bMx9JHq5kA09kif-main
  840. 1757.69 s [algebraic-graphs] depends QuickCheck-2.15.0.1-8TOXA7GkEi42wTg0ODsItP
  841. 1757.69 s [algebraic-graphs] depends algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  842. 1757.69 s [algebraic-graphs] depends array-0.5.8.0
  843. 1757.69 s [algebraic-graphs] depends base-4.18.3.0
  844. 1757.69 s [algebraic-graphs] depends containers-0.6.7
  845. 1757.69 s [algebraic-graphs] depends deepseq-1.4.8.1
  846. 1757.69 s [algebraic-graphs] depends extra-1.8.1-mqL7YRifC8HhGrjpGYIL3
  847. 1757.69 s [algebraic-graphs] depends inspection-testing-0.6.2-3QX2depSWaUFw922pdySLQ
  848. 1757.69 s [algebraic-graphs] depends transformers-0.6.1.0
  849. 1757.69 s [algebraic-graphs] Using Cabal-3.10.3.0 compiled by ghc-9.6
  850. 1757.69 s [algebraic-graphs] Using compiler: ghc-9.6.7
  851. 1757.69 s [algebraic-graphs] Using install prefix:
  852. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7
  853. 1757.69 s [algebraic-graphs] Executables installed in:
  854. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7/bin
  855. 1757.69 s [algebraic-graphs] Libraries installed in:
  856. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  857. 1757.69 s [algebraic-graphs] Dynamic Libraries installed in:
  858. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7
  859. 1757.69 s [algebraic-graphs] Private executables installed in:
  860. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7/libexec/x86_64-linux-ghc-9.6.7/algebraic-graphs-0.7
  861. 1757.69 s [algebraic-graphs] Data files installed in:
  862. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7/share/x86_64-linux-ghc-9.6.7/algebraic-graphs-0.7
  863. 1757.69 s [algebraic-graphs] Documentation installed in:
  864. 1757.69 s [algebraic-graphs] /nix/store/ak449r7dq796x3xizfgl3vr4adgaxsaw-algebraic-graphs-0.7-doc/share/doc/algebraic-graphs-0.7
  865. 1757.69 s [algebraic-graphs] Configuration files installed in:
  866. 1757.69 s [algebraic-graphs] /nix/store/3r02b52yhkzffsdhwz01dywki8bn9v6i-algebraic-graphs-0.7/etc
  867. 1757.69 s [algebraic-graphs] No alex found
  868. 1757.69 s [algebraic-graphs] Using ar found on system at:
  869. 1757.69 s [algebraic-graphs] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ar
  870. 1757.69 s [algebraic-graphs] No c2hs found
  871. 1757.69 s [algebraic-graphs] No cpphs found
  872. 1757.69 s [algebraic-graphs] No doctest found
  873. 1757.69 s [algebraic-graphs] Using gcc version 14.3.0 given by user at:
  874. 1757.69 s [algebraic-graphs] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/gcc
  875. 1757.69 s [algebraic-graphs] Using ghc version 9.6.7 found on system at:
  876. 1757.69 s [algebraic-graphs] /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/bin/ghc
  877. 1757.69 s [algebraic-graphs] Using ghc-pkg version 9.6.7 found on system at:
  878. 1757.69 s [algebraic-graphs] /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/bin/ghc-pkg-9.6.7
  879. 1757.69 s [algebraic-graphs] No ghcjs found
  880. 1757.69 s [algebraic-graphs] No ghcjs-pkg found
  881. 1757.69 s [algebraic-graphs] No greencard found
  882. 1757.69 s [algebraic-graphs] Using haddock version 2.29.2 found on system at:
  883. 1757.69 s [algebraic-graphs] /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/bin/haddock-ghc-9.6.7
  884. 1757.69 s [algebraic-graphs] No happy found
  885. 1757.69 s [algebraic-graphs] Using haskell-suite found on system at: haskell-suite-dummy-location
  886. 1757.69 s [algebraic-graphs] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  887. 1757.69 s [algebraic-graphs] No hmake found
  888. 1757.69 s [algebraic-graphs] Using hpc version 0.68 found on system at:
  889. 1757.69 s [algebraic-graphs] /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/bin/hpc-ghc-9.6.7
  890. 1757.69 s [algebraic-graphs] Using hsc2hs version 0.68.9 found on system at:
  891. 1757.69 s [algebraic-graphs] /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/bin/hsc2hs-ghc-9.6.7
  892. 1757.69 s [algebraic-graphs] Using hscolour version 1.25 found on system at:
  893. 1757.69 s [algebraic-graphs] /nix/store/na3h6k2pdvfb6kjn5dhiqi3z5l8cfdqx-hscolour-1.25/bin/HsColour
  894. 1757.69 s [algebraic-graphs] No jhc found
  895. 1757.69 s [algebraic-graphs] Using ld found on system at:
  896. 1757.69 s [algebraic-graphs] /nix/store/rinxh4y0akcin90l05j0zr1r3wahl34d-binutils-wrapper-2.44/bin/ld.gold
  897. 1757.69 s [algebraic-graphs] No pkg-config found
  898. 1757.69 s [algebraic-graphs] Using runghc version 9.6.7 found on system at:
  899. 1757.69 s [algebraic-graphs] /nix/store/i84a5gvqc16hhlcx2wjzvvfdg2ylshpr-ghc-9.6.7/bin/runghc-9.6.7
  900. 1757.69 s [algebraic-graphs] Using strip version 2.44 found on system at:
  901. 1757.69 s [algebraic-graphs] /nix/store/0j1ajvl2qwwb9n5a91hzd0j98fk9fa3k-gcc-wrapper-14.3.0/bin/strip
  902. 1757.69 s [algebraic-graphs] Using tar found on system at:
  903. 1757.69 s [algebraic-graphs] /nix/store/i8hncwf8234flnbgi2z19bzy4hjwhss1-gnutar-1.35/bin/tar
  904. 1757.69 s [algebraic-graphs] No uhc found
  905. 1757.82 s [algebraic-graphs] Phase: buildPhase
  906. 1757.90 s [algebraic-graphs] Preprocessing library for algebraic-graphs-0.7..
  907. 1757.91 s [algebraic-graphs] Building library for algebraic-graphs-0.7..
  908. 1758.01 s [algebraic-graphs] [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, dist/build/Algebra/Graph/AdjacencyMap.o, dist/build/Algebra/Graph/AdjacencyMap.dyn_o )
  909. 1758.89 s [algebraic-graphs] [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, dist/build/Algebra/Graph/AdjacencyIntMap.o, dist/build/Algebra/Graph/AdjacencyIntMap.dyn_o )
  910. 1759.46 s [algebraic-graphs] [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.o, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.dyn_o )
  911. 1759.72 s [algebraic-graphs] [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, dist/build/Algebra/Graph/Internal.o, dist/build/Algebra/Graph/Internal.dyn_o )
  912. 1759.72 s [algebraic-graphs] [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, dist/build/Algebra/Graph.o, dist/build/Algebra/Graph.dyn_o )
  913. 1760.75 s [algebraic-graphs] [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, dist/build/Algebra/Graph/HigherKinded/Class.o, dist/build/Algebra/Graph/HigherKinded/Class.dyn_o )
  914. 1761.00 s [algebraic-graphs] [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.o, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.dyn_o )
  915. 1761.33 s [haskell-language-server] Preprocessing library 'hls-qualify-imported-names-plugin' for haskell-language-server-2.12.0.0..
  916. 1761.33 s [haskell-language-server] Building library 'hls-qualify-imported-names-plugin' for haskell-language-server-2.12.0.0..
  917. 1761.48 s [haskell-language-server] [1 of 1] Compiling Ide.Plugin.QualifyImportedNames ( plugins/hls-qualify-imported-names-plugin/src/Ide/Plugin/QualifyImportedNames.hs, dist/build/hls-qualify-imported-names-plugin/Ide/Plugin/QualifyImportedNames.o, dist/build/hls-qualify-imported-names-plugin/Ide/Plugin/QualifyImportedNames.dyn_o )
  918. 1761.53 s [algebraic-graphs] [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.o, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.dyn_o )
  919. 1762.23 s [algebraic-graphs] [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, dist/build/Algebra/Graph/Label.o, dist/build/Algebra/Graph/Label.dyn_o )
  920. 1762.30 s [algebraic-graphs] [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.o, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.dyn_o )
  921. 1762.30 s [algebraic-graphs] [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.o, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.dyn_o )
  922. 1762.30 s [algebraic-graphs] [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.o, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.dyn_o )
  923. 1762.30 s [algebraic-graphs] [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, dist/build/Algebra/Graph/ToGraph.o, dist/build/Algebra/Graph/ToGraph.dyn_o )
  924. 1762.30 s [algebraic-graphs]
  925. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  926. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  927. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  928. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  929. 1762.30 s [algebraic-graphs] |
  930. 1762.30 s [algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet
  931. 1762.30 s [algebraic-graphs] | ^
  932. 1762.30 s [algebraic-graphs]
  933. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  934. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  935. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  936. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  937. 1762.30 s [algebraic-graphs] |
  938. 1762.30 s [algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
  939. 1762.30 s [algebraic-graphs] | ^
  940. 1762.30 s [algebraic-graphs]
  941. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  942. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  943. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  944. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  945. 1762.30 s [algebraic-graphs] |
  946. 1762.30 s [algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
  947. 1762.30 s [algebraic-graphs] | ^
  948. 1762.30 s [algebraic-graphs]
  949. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  950. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  951. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  952. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  953. 1762.30 s [algebraic-graphs] |
  954. 1762.30 s [algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
  955. 1762.30 s [algebraic-graphs] | ^
  956. 1762.30 s [algebraic-graphs]
  957. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  958. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  959. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  960. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  961. 1762.30 s [algebraic-graphs] |
  962. 1762.30 s [algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
  963. 1762.30 s [algebraic-graphs] | ^
  964. 1762.30 s [algebraic-graphs]
  965. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  966. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  967. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  968. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  969. 1762.30 s [algebraic-graphs] |
  970. 1762.30 s [algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
  971. 1762.30 s [algebraic-graphs] | ^
  972. 1762.30 s [algebraic-graphs]
  973. 1762.30 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  974. 1762.30 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  975. 1762.30 s [algebraic-graphs] will become an error in a future GHC release.
  976. 1762.30 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  977. 1762.30 s [algebraic-graphs] |
  978. 1762.30 s [algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
  979. 1762.30 s [algebraic-graphs] | ^
  980. 1762.30 s [algebraic-graphs] [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, dist/build/Algebra/Graph/Relation.o, dist/build/Algebra/Graph/Relation.dyn_o )
  981. 1762.30 s [algebraic-graphs] [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, dist/build/Algebra/Graph/Relation/Symmetric.o, dist/build/Algebra/Graph/Relation/Symmetric.dyn_o )
  982. 1762.74 s [algebraic-graphs] [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, dist/build/Algebra/Graph/NonEmpty.o, dist/build/Algebra/Graph/NonEmpty.dyn_o )
  983. 1762.75 s [algebraic-graphs] [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, dist/build/Algebra/Graph/Labelled/AdjacencyMap.o, dist/build/Algebra/Graph/Labelled/AdjacencyMap.dyn_o )
  984. 1762.75 s [algebraic-graphs] [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, dist/build/Algebra/Graph/Labelled.o, dist/build/Algebra/Graph/Labelled.dyn_o )
  985. 1762.94 s [algebraic-graphs] [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, dist/build/Algebra/Graph/Labelled/Example/Network.o, dist/build/Algebra/Graph/Labelled/Example/Network.dyn_o )
  986. 1763.07 s [algebraic-graphs] [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, dist/build/Algebra/Graph/Labelled/Example/Automaton.o, dist/build/Algebra/Graph/Labelled/Example/Automaton.dyn_o )
  987. 1763.24 s [algebraic-graphs] [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, dist/build/Algebra/Graph/Export.o, dist/build/Algebra/Graph/Export.dyn_o )
  988. 1763.24 s [algebraic-graphs]
  989. 1763.24 s [algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  990. 1763.24 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  991. 1763.24 s [algebraic-graphs] will become an error in a future GHC release.
  992. 1763.24 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  993. 1763.24 s [algebraic-graphs] |
  994. 1763.24 s [algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s
  995. 1763.24 s [algebraic-graphs] | ^
  996. 1763.24 s [algebraic-graphs] [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, dist/build/Algebra/Graph/Export/Dot.o, dist/build/Algebra/Graph/Export/Dot.dyn_o )
  997. 1763.24 s [algebraic-graphs]
  998. 1763.24 s [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  999. 1763.24 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1000. 1763.24 s [algebraic-graphs] will become an error in a future GHC release.
  1001. 1763.24 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1002. 1763.24 s [algebraic-graphs] |
  1003. 1763.24 s [algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s
  1004. 1763.24 s [algebraic-graphs] | ^
  1005. 1763.24 s [algebraic-graphs]
  1006. 1763.24 s [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1007. 1763.24 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1008. 1763.24 s [algebraic-graphs] will become an error in a future GHC release.
  1009. 1763.24 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1010. 1763.24 s [algebraic-graphs] |
  1011. 1763.24 s [algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s
  1012. 1763.24 s [algebraic-graphs] | ^
  1013. 1763.24 s [algebraic-graphs] [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, dist/build/Algebra/Graph/Undirected.o, dist/build/Algebra/Graph/Undirected.dyn_o )
  1014. 1763.24 s [algebraic-graphs] [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, dist/build/Algebra/Graph/Class.o, dist/build/Algebra/Graph/Class.dyn_o )
  1015. 1763.26 s [algebraic-graphs] [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, dist/build/Algebra/Graph/Relation/Transitive.o, dist/build/Algebra/Graph/Relation/Transitive.dyn_o )
  1016. 1763.34 s [algebraic-graphs] [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, dist/build/Algebra/Graph/Relation/Reflexive.o, dist/build/Algebra/Graph/Relation/Reflexive.dyn_o )
  1017. 1763.34 s [algebraic-graphs] [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, dist/build/Algebra/Graph/Relation/Preorder.o, dist/build/Algebra/Graph/Relation/Preorder.dyn_o )
  1018. 1763.35 s [algebraic-graphs] [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, dist/build/Algebra/Graph/Example/Todo.o, dist/build/Algebra/Graph/Example/Todo.dyn_o )
  1019. 1763.39 s [algebraic-graphs] [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, dist/build/Data/Graph/Typed.o, dist/build/Data/Graph/Typed.dyn_o )
  1020. 1763.49 s [haskell-language-server] [1 of 1] Compiling Ide.Plugin.QualifyImportedNames ( plugins/hls-qualify-imported-names-plugin/src/Ide/Plugin/QualifyImportedNames.hs, dist/build/hls-qualify-imported-names-plugin/Ide/Plugin/QualifyImportedNames.p_o )
  1021. 1763.65 s [algebraic-graphs] [ 1 of 29] Compiling Algebra.Graph.AdjacencyMap ( src/Algebra/Graph/AdjacencyMap.hs, dist/build/Algebra/Graph/AdjacencyMap.p_o )
  1022. 1764.46 s [algebraic-graphs] [ 2 of 29] Compiling Algebra.Graph.AdjacencyIntMap ( src/Algebra/Graph/AdjacencyIntMap.hs, dist/build/Algebra/Graph/AdjacencyIntMap.p_o )
  1023. 1764.98 s [algebraic-graphs] [ 3 of 29] Compiling Algebra.Graph.AdjacencyIntMap.Algorithm ( src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyIntMap/Algorithm.p_o )
  1024. 1765.28 s [algebraic-graphs] [ 4 of 29] Compiling Algebra.Graph.Internal ( src/Algebra/Graph/Internal.hs, dist/build/Algebra/Graph/Internal.p_o )
  1025. 1765.28 s [algebraic-graphs] [ 5 of 29] Compiling Algebra.Graph ( src/Algebra/Graph.hs, dist/build/Algebra/Graph.p_o )
  1026. 1766.24 s [algebraic-graphs] [ 6 of 29] Compiling Algebra.Graph.HigherKinded.Class ( src/Algebra/Graph/HigherKinded/Class.hs, dist/build/Algebra/Graph/HigherKinded/Class.p_o )
  1027. 1766.57 s [algebraic-graphs] [ 7 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap ( src/Algebra/Graph/Bipartite/AdjacencyMap.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap.p_o )
  1028. 1766.91 s [algebraic-graphs] [ 8 of 29] Compiling Algebra.Graph.Bipartite.AdjacencyMap.Algorithm ( src/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/Bipartite/AdjacencyMap/Algorithm.p_o )
  1029. 1768.00 s [algebraic-graphs] [ 9 of 29] Compiling Algebra.Graph.Label ( src/Algebra/Graph/Label.hs, dist/build/Algebra/Graph/Label.p_o )
  1030. 1768.00 s [algebraic-graphs] [10 of 29] Compiling Algebra.Graph.NonEmpty.AdjacencyMap ( src/Algebra/Graph/NonEmpty/AdjacencyMap.hs, dist/build/Algebra/Graph/NonEmpty/AdjacencyMap.p_o )
  1031. 1768.07 s [algebraic-graphs] [11 of 29] Compiling Algebra.Graph.AdjacencyMap.Algorithm ( src/Algebra/Graph/AdjacencyMap/Algorithm.hs, dist/build/Algebra/Graph/AdjacencyMap/Algorithm.p_o )
  1032. 1768.07 s [algebraic-graphs] [12 of 29] Compiling Algebra.Graph.Acyclic.AdjacencyMap ( src/Algebra/Graph/Acyclic/AdjacencyMap.hs, dist/build/Algebra/Graph/Acyclic/AdjacencyMap.p_o )
  1033. 1768.07 s [algebraic-graphs] [13 of 29] Compiling Algebra.Graph.ToGraph ( src/Algebra/Graph/ToGraph.hs, dist/build/Algebra/Graph/ToGraph.p_o )
  1034. 1768.07 s [algebraic-graphs]
  1035. 1768.07 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1036. 1768.07 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1037. 1768.07 s [algebraic-graphs] will become an error in a future GHC release.
  1038. 1768.07 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1039. 1768.07 s [algebraic-graphs] |
  1040. 1768.07 s [algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet
  1041. 1768.07 s [algebraic-graphs] | ^
  1042. 1768.07 s [algebraic-graphs]
  1043. 1768.07 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1044. 1768.07 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1045. 1768.07 s [algebraic-graphs] will become an error in a future GHC release.
  1046. 1768.07 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1047. 1768.07 s [algebraic-graphs] |
  1048. 1768.07 s [algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
  1049. 1768.07 s [algebraic-graphs] | ^
  1050. 1768.07 s [algebraic-graphs]
  1051. 1768.07 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1052. 1768.07 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1053. 1768.07 s [algebraic-graphs] will become an error in a future GHC release.
  1054. 1768.07 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1055. 1768.07 s [algebraic-graphs] |
  1056. 1768.07 s [algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
  1057. 1768.07 s [algebraic-graphs] | ^
  1058. 1768.07 s [algebraic-graphs]
  1059. 1768.07 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1060. 1768.07 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1061. 1768.07 s [algebraic-graphs] will become an error in a future GHC release.
  1062. 1768.07 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1063. 1768.08 s [algebraic-graphs] |
  1064. 1768.08 s [algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
  1065. 1768.08 s [algebraic-graphs] | ^
  1066. 1768.08 s [algebraic-graphs]
  1067. 1768.08 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1068. 1768.08 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1069. 1768.08 s [algebraic-graphs] will become an error in a future GHC release.
  1070. 1768.08 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1071. 1768.08 s [algebraic-graphs] |
  1072. 1768.08 s [algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
  1073. 1768.08 s [algebraic-graphs] | ^
  1074. 1768.08 s [algebraic-graphs]
  1075. 1768.08 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1076. 1768.08 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1077. 1768.08 s [algebraic-graphs] will become an error in a future GHC release.
  1078. 1768.08 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1079. 1768.08 s [algebraic-graphs] |
  1080. 1768.08 s [algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
  1081. 1768.08 s [algebraic-graphs] | ^
  1082. 1768.08 s [algebraic-graphs]
  1083. 1768.08 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1084. 1768.08 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1085. 1768.08 s [algebraic-graphs] will become an error in a future GHC release.
  1086. 1768.08 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1087. 1768.08 s [algebraic-graphs] |
  1088. 1768.08 s [algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
  1089. 1768.08 s [algebraic-graphs] | ^
  1090. 1768.08 s [algebraic-graphs] [14 of 29] Compiling Algebra.Graph.Relation ( src/Algebra/Graph/Relation.hs, dist/build/Algebra/Graph/Relation.p_o )
  1091. 1768.08 s [algebraic-graphs] [15 of 29] Compiling Algebra.Graph.Relation.Symmetric ( src/Algebra/Graph/Relation/Symmetric.hs, dist/build/Algebra/Graph/Relation/Symmetric.p_o )
  1092. 1768.41 s [algebraic-graphs] [16 of 29] Compiling Algebra.Graph.NonEmpty ( src/Algebra/Graph/NonEmpty.hs, dist/build/Algebra/Graph/NonEmpty.p_o )
  1093. 1768.41 s [algebraic-graphs] [17 of 29] Compiling Algebra.Graph.Labelled.AdjacencyMap ( src/Algebra/Graph/Labelled/AdjacencyMap.hs, dist/build/Algebra/Graph/Labelled/AdjacencyMap.p_o )
  1094. 1768.41 s [algebraic-graphs] [18 of 29] Compiling Algebra.Graph.Labelled ( src/Algebra/Graph/Labelled.hs, dist/build/Algebra/Graph/Labelled.p_o )
  1095. 1768.79 s [algebraic-graphs] [19 of 29] Compiling Algebra.Graph.Labelled.Example.Network ( src/Algebra/Graph/Labelled/Example/Network.hs, dist/build/Algebra/Graph/Labelled/Example/Network.p_o )
  1096. 1769.01 s [algebraic-graphs] [20 of 29] Compiling Algebra.Graph.Labelled.Example.Automaton ( src/Algebra/Graph/Labelled/Example/Automaton.hs, dist/build/Algebra/Graph/Labelled/Example/Automaton.p_o )
  1097. 1769.15 s [algebraic-graphs] [21 of 29] Compiling Algebra.Graph.Export ( src/Algebra/Graph/Export.hs, dist/build/Algebra/Graph/Export.p_o )
  1098. 1769.15 s [algebraic-graphs]
  1099. 1769.15 s [algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1100. 1769.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1101. 1769.15 s [algebraic-graphs] will become an error in a future GHC release.
  1102. 1769.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1103. 1769.15 s [algebraic-graphs] |
  1104. 1769.15 s [algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s
  1105. 1769.15 s [algebraic-graphs] | ^
  1106. 1769.15 s [algebraic-graphs] [22 of 29] Compiling Algebra.Graph.Export.Dot ( src/Algebra/Graph/Export/Dot.hs, dist/build/Algebra/Graph/Export/Dot.p_o )
  1107. 1769.15 s [algebraic-graphs]
  1108. 1769.15 s [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1109. 1769.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1110. 1769.15 s [algebraic-graphs] will become an error in a future GHC release.
  1111. 1769.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1112. 1769.15 s [algebraic-graphs] |
  1113. 1769.15 s [algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s
  1114. 1769.15 s [algebraic-graphs] | ^
  1115. 1769.15 s [algebraic-graphs]
  1116. 1769.15 s [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1117. 1769.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1118. 1769.15 s [algebraic-graphs] will become an error in a future GHC release.
  1119. 1769.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1120. 1769.15 s [algebraic-graphs] |
  1121. 1769.15 s [algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s
  1122. 1769.15 s [algebraic-graphs] | ^
  1123. 1769.15 s [algebraic-graphs] [23 of 29] Compiling Algebra.Graph.Undirected ( src/Algebra/Graph/Undirected.hs, dist/build/Algebra/Graph/Undirected.p_o )
  1124. 1769.15 s [algebraic-graphs] [24 of 29] Compiling Algebra.Graph.Class ( src/Algebra/Graph/Class.hs, dist/build/Algebra/Graph/Class.p_o )
  1125. 1769.15 s [algebraic-graphs] [25 of 29] Compiling Algebra.Graph.Relation.Transitive ( src/Algebra/Graph/Relation/Transitive.hs, dist/build/Algebra/Graph/Relation/Transitive.p_o )
  1126. 1769.25 s [algebraic-graphs] [26 of 29] Compiling Algebra.Graph.Relation.Reflexive ( src/Algebra/Graph/Relation/Reflexive.hs, dist/build/Algebra/Graph/Relation/Reflexive.p_o )
  1127. 1769.25 s [algebraic-graphs] [27 of 29] Compiling Algebra.Graph.Relation.Preorder ( src/Algebra/Graph/Relation/Preorder.hs, dist/build/Algebra/Graph/Relation/Preorder.p_o )
  1128. 1769.26 s [algebraic-graphs] [28 of 29] Compiling Algebra.Graph.Example.Todo ( src/Algebra/Graph/Example/Todo.hs, dist/build/Algebra/Graph/Example/Todo.p_o )
  1129. 1769.29 s [algebraic-graphs] [29 of 29] Compiling Data.Graph.Typed ( src/Data/Graph/Typed.hs, dist/build/Data/Graph/Typed.p_o )
  1130. 1770.59 s [algebraic-graphs] Preprocessing test suite 'main' for algebraic-graphs-0.7..
  1131. 1770.59 s [algebraic-graphs] Building test suite 'main' for algebraic-graphs-0.7..
  1132. 1770.73 s [algebraic-graphs] [ 1 of 23] Compiling Algebra.Graph.Test.Arbitrary ( test/Algebra/Graph/Test/Arbitrary.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Arbitrary.o, dist/build/main/main-tmp/Algebra/Graph/Test/Arbitrary.dyn_o )
  1133. 1771.60 s [haskell-language-server] Preprocessing library 'hls-cabal-fmt-plugin' for haskell-language-server-2.12.0.0..
  1134. 1771.60 s [haskell-language-server] Building library 'hls-cabal-fmt-plugin' for haskell-language-server-2.12.0.0..
  1135. 1771.70 s [haskell-language-server] [1 of 1] Compiling Ide.Plugin.CabalFmt ( plugins/hls-cabal-fmt-plugin/src/Ide/Plugin/CabalFmt.hs, dist/build/hls-cabal-fmt-plugin/Ide/Plugin/CabalFmt.o, dist/build/hls-cabal-fmt-plugin/Ide/Plugin/CabalFmt.dyn_o )
  1136. 1771.77 s [algebraic-graphs] [ 2 of 23] Compiling Algebra.Graph.Test.API ( test/Algebra/Graph/Test/API.hs, dist/build/main/main-tmp/Algebra/Graph/Test/API.o, dist/build/main/main-tmp/Algebra/Graph/Test/API.dyn_o )
  1137. 1773.50 s [haskell-language-server] [1 of 1] Compiling Ide.Plugin.CabalFmt ( plugins/hls-cabal-fmt-plugin/src/Ide/Plugin/CabalFmt.hs, dist/build/hls-cabal-fmt-plugin/Ide/Plugin/CabalFmt.p_o )
  1138. 1774.52 s [algebraic-graphs] [ 3 of 23] Compiling Algebra.Graph.Test ( test/Algebra/Graph/Test.hs, dist/build/main/main-tmp/Algebra/Graph/Test.o, dist/build/main/main-tmp/Algebra/Graph/Test.dyn_o )
  1139. 1774.52 s [algebraic-graphs] [ 4 of 23] Compiling Algebra.Graph.Test.Acyclic.AdjacencyMap ( test/Algebra/Graph/Test/Acyclic/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Acyclic/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Acyclic/AdjacencyMap.dyn_o )
  1140. 1774.52 s [algebraic-graphs] [ 5 of 23] Compiling Algebra.Graph.Test.Bipartite.AdjacencyMap ( test/Algebra/Graph/Test/Bipartite/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Bipartite/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Bipartite/AdjacencyMap.dyn_o )
  1141. 1776.28 s [algebraic-graphs] [ 6 of 23] Compiling Algebra.Graph.Test.Example.Todo ( test/Algebra/Graph/Test/Example/Todo.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Example/Todo.o, dist/build/main/main-tmp/Algebra/Graph/Test/Example/Todo.dyn_o )
  1142. 1776.28 s [algebraic-graphs] [ 7 of 23] Compiling Algebra.Graph.Test.Export ( test/Algebra/Graph/Test/Export.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Export.o, dist/build/main/main-tmp/Algebra/Graph/Test/Export.dyn_o )
  1143. 1776.28 s [algebraic-graphs] [ 8 of 23] Compiling Algebra.Graph.Test.Generic ( test/Algebra/Graph/Test/Generic.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Generic.o, dist/build/main/main-tmp/Algebra/Graph/Test/Generic.dyn_o )
  1144. 1779.40 s [algebraic-graphs] [ 9 of 23] Compiling Algebra.Graph.Test.AdjacencyMap ( test/Algebra/Graph/Test/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyMap.dyn_o )
  1145. 1779.55 s [algebraic-graphs] [10 of 23] Compiling Algebra.Graph.Test.AdjacencyIntMap ( test/Algebra/Graph/Test/AdjacencyIntMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyIntMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/AdjacencyIntMap.dyn_o )
  1146. 1779.55 s [algebraic-graphs] [11 of 23] Compiling Algebra.Graph.Test.Graph ( test/Algebra/Graph/Test/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/Graph.dyn_o )
  1147. 1780.16 s [algebraic-graphs] [12 of 23] Compiling Algebra.Graph.Test.Internal ( test/Algebra/Graph/Test/Internal.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Internal.o, dist/build/main/main-tmp/Algebra/Graph/Test/Internal.dyn_o )
  1148. 1780.16 s [algebraic-graphs] [13 of 23] Compiling Algebra.Graph.Test.Label ( test/Algebra/Graph/Test/Label.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Label.o, dist/build/main/main-tmp/Algebra/Graph/Test/Label.dyn_o )
  1149. 1780.16 s [algebraic-graphs] [14 of 23] Compiling Algebra.Graph.Test.Labelled.AdjacencyMap ( test/Algebra/Graph/Test/Labelled/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/AdjacencyMap.dyn_o )
  1150. 1780.92 s [algebraic-graphs] [15 of 23] Compiling Algebra.Graph.Test.Labelled.Graph ( test/Algebra/Graph/Test/Labelled/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/Labelled/Graph.dyn_o )
  1151. 1780.92 s [algebraic-graphs] [16 of 23] Compiling Algebra.Graph.Test.NonEmpty.AdjacencyMap ( test/Algebra/Graph/Test/NonEmpty/AdjacencyMap.hs, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/AdjacencyMap.o, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/AdjacencyMap.dyn_o )
  1152. 1780.92 s [algebraic-graphs] [17 of 23] Compiling Algebra.Graph.Test.NonEmpty.Graph ( test/Algebra/Graph/Test/NonEmpty/Graph.hs, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/Graph.o, dist/build/main/main-tmp/Algebra/Graph/Test/NonEmpty/Graph.dyn_o )
  1153. 1780.92 s [algebraic-graphs] [18 of 23] Compiling Algebra.Graph.Test.Relation ( test/Algebra/Graph/Test/Relation.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Relation.o, dist/build/main/main-tmp/Algebra/Graph/Test/Relation.dyn_o )
  1154. 1780.92 s [algebraic-graphs] [19 of 23] Compiling Algebra.Graph.Test.Relation.Symmetric ( test/Algebra/Graph/Test/Relation/Symmetric.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Relation/Symmetric.o, dist/build/main/main-tmp/Algebra/Graph/Test/Relation/Symmetric.dyn_o )
  1155. 1780.92 s [algebraic-graphs] [20 of 23] Compiling Algebra.Graph.Test.RewriteRules ( test/Algebra/Graph/Test/RewriteRules.hs, dist/build/main/main-tmp/Algebra/Graph/Test/RewriteRules.o, dist/build/main/main-tmp/Algebra/Graph/Test/RewriteRules.dyn_o )
  1156. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:43:1: emptyI === emptyIR passed.
  1157. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:49:1: vertexI === vertexIR passed.
  1158. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:56:1: overlayI === overlayIR passed.
  1159. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:63:1: connectI === connectIR passed.
  1160. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:69:1: overlaysC `hasNoType` GHC.Types.List passed.
  1161. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:76:1: overlaysP === overlaysPR passed.
  1162. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:82:1: verticesCP `hasNoType` GHC.Types.List passed.
  1163. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:83:1: verticesCP `hasNoType` Algebra.Graph.Graph passed.
  1164. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:89:1: connectsC `hasNoType` GHC.Types.List passed.
  1165. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:96:1: connectsP === connectsPR passed.
  1166. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:102:1: isSubgraphOfC `hasNoType` Algebra.Graph.Graph passed.
  1167. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:108:1: cliqueCP `hasNoType` GHC.Types.List passed.
  1168. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:109:1: cliqueCP `hasNoType` Algebra.Graph.Graph passed.
  1169. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:115:1: edgesCP `hasNoType` GHC.Types.List passed.
  1170. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:116:1: edgesCP `hasNoType` Algebra.Graph.Graph passed.
  1171. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:122:1: starCP `hasNoType` GHC.Types.List passed.
  1172. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:123:1: starCP `hasNoType` Algebra.Graph.Graph passed.
  1173. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:130:1: fmapCP `hasNoType` Algebra.Graph.Graph passed.
  1174. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:137:1: bindC === bindCR passed.
  1175. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:144:1: bindP === bindPR passed.
  1176. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:151:1: apC === apCR passed.
  1177. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:159:1: apP === apPR passed.
  1178. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:165:1: eqC `hasNoType` Algebra.Graph.Graph passed.
  1179. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:170:1: eqT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed.
  1180. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:176:1: ordC `hasNoType` Algebra.Graph.Graph passed.
  1181. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:181:1: ordT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed.
  1182. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:187:1: isEmptyC `hasNoType` Algebra.Graph.Graph passed.
  1183. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:193:1: sizeC `hasNoType` Algebra.Graph.Graph passed.
  1184. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:199:1: vertexSetC `hasNoType` Algebra.Graph.Graph passed.
  1185. 1780.92 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:205:1: vertexSetC `hasNoType` Algebra.Graph.Graph passed.
  1186. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:210:1: vertexCountT `hasNoType` Data.Set.Internal.Set passed.
  1187. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:216:1: edgeCountC `hasNoType` Algebra.Graph.Graph passed.
  1188. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:221:1: edgeCountT `hasNoType` Data.Set.Internal.Set passed.
  1189. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:227:1: vertexListCP `hasNoType` Algebra.Graph.Graph passed.
  1190. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:228:1: vertexListCP `hasNoType` GHC.Types.List passed.
  1191. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:233:1: vertexListT `hasNoType` Data.Set.Internal.Set passed.
  1192. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:239:1: edgeSetC `hasNoType` Algebra.Graph.Graph passed.
  1193. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:244:1: vertexListT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed.
  1194. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:250:1: edgeListCP `hasNoType` Algebra.Graph.Graph passed.
  1195. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:251:1: edgeListCP `hasNoType` GHC.Types.List passed.
  1196. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:256:1: edgeListT `hasNoType` Algebra.Graph.AdjacencyMap.AdjacencyMap passed.
  1197. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:262:1: hasVertexC `hasNoType` Algebra.Graph.Graph passed.
  1198. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:268:1: hasEdgeC `hasNoType` Algebra.Graph.Graph passed.
  1199. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:274:1: adjacencyListC `hasNoType` Algebra.Graph.Graph passed.
  1200. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:280:1: pathP `hasNoType` Algebra.Graph.Graph passed.
  1201. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:286:1: circuitP `hasNoType` Algebra.Graph.Graph passed.
  1202. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:292:1: bicliqueCP `hasNoType` GHC.Types.List passed.
  1203. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:293:1: bicliqueCP `hasNoType` Algebra.Graph.Graph passed.
  1204. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:301:1: replaceVertexCP `hasNoType` Algebra.Graph.Graph passed.
  1205. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:309:1: mergeVerticesCP `hasNoType` Algebra.Graph.Graph passed.
  1206. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:316:1: splitVertexCP `hasNoType` GHC.Types.List passed.
  1207. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:317:1: splitVertexCP `hasNoType` Algebra.Graph.Graph passed.
  1208. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:324:1: transposeCP `hasNoType` Algebra.Graph.Graph passed.
  1209. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:339:1: simplifyC === simplifyCR passed.
  1210. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:345:1: composeCP `hasNoType` Algebra.Graph.Graph passed.
  1211. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:352:1: induceCP `hasNoType` Algebra.Graph.Graph passed.
  1212. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:359:1: induceJustCP `hasNoType` Algebra.Graph.Graph passed.
  1213. 1780.93 s [algebraic-graphs] test/Algebra/Graph/Test/RewriteRules.hs:365:1: contextC `hasNoType` Algebra.Graph.Graph passed.
  1214. 1780.93 s [algebraic-graphs] inspection testing successful
  1215. 1780.93 s [algebraic-graphs] expected successes: 58
  1216. 1780.93 s [algebraic-graphs] [21 of 23] Compiling Algebra.Graph.Test.Undirected ( test/Algebra/Graph/Test/Undirected.hs, dist/build/main/main-tmp/Algebra/Graph/Test/Undirected.o, dist/build/main/main-tmp/Algebra/Graph/Test/Undirected.dyn_o )
  1217. 1780.93 s [algebraic-graphs] [22 of 23] Compiling Data.Graph.Test.Typed ( test/Data/Graph/Test/Typed.hs, dist/build/main/main-tmp/Data/Graph/Test/Typed.o, dist/build/main/main-tmp/Data/Graph/Test/Typed.dyn_o )
  1218. 1780.93 s [algebraic-graphs] [23 of 23] Compiling Main ( test/Main.hs, dist/build/main/main-tmp/Main.o, dist/build/main/main-tmp/Main.dyn_o )
  1219. 1781.19 s [haskell-language-server] Preprocessing library 'hls-eval-plugin' for haskell-language-server-2.12.0.0..
  1220. 1781.19 s [haskell-language-server] Building library 'hls-eval-plugin' for haskell-language-server-2.12.0.0..
  1221. 1781.45 s [haskell-language-server] [ 1 of 10] Compiling Ide.Plugin.Eval.Config ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Config.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Config.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Config.dyn_o )
  1222. 1781.59 s [algebraic-graphs] [24 of 24] Linking dist/build/main/main
  1223. 1781.92 s [haskell-language-server] [ 2 of 10] Compiling Ide.Plugin.Eval.Parse.Option ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Parse/Option.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Parse/Option.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Parse/Option.dyn_o )
  1224. 1781.97 s [haskell-language-server] [ 3 of 10] Compiling Ide.Plugin.Eval.Util ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Util.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Util.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Util.dyn_o )
  1225. 1782.18 s [haskell-language-server] [ 4 of 10] Compiling Ide.Plugin.Eval.GHC ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/GHC.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/GHC.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/GHC.dyn_o )
  1226. 1782.42 s [algebraic-graphs] Phase: checkPhase
  1227. 1782.45 s [algebraic-graphs] Running 1 test suites...
  1228. 1782.45 s [algebraic-graphs] Test suite main: RUNNING...
  1229. 1783.13 s [haskell-language-server] [ 5 of 10] Compiling Ide.Plugin.Eval.Types ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Types.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Types.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Types.dyn_o )
  1230. 1787.68 s [haskell-language-server] [ 6 of 10] Compiling Ide.Plugin.Eval.Rules ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Rules.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Rules.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Rules.dyn_o )
  1231. 1788.12 s [haskell-language-server] [ 7 of 10] Compiling Ide.Plugin.Eval.Parse.Comments ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Parse/Comments.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Parse/Comments.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Parse/Comments.dyn_o )
  1232. 1788.22 s [algebraic-graphs]
  1233. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.Show ============
  1234. 1788.22 s [algebraic-graphs] OK: show empty == "empty"
  1235. 1788.22 s [algebraic-graphs] OK: show (shrink 1) == "vertex 1"
  1236. 1788.22 s [algebraic-graphs] OK: show (shrink $ 1 + 2) == "vertices [1,2]"
  1237. 1788.22 s [algebraic-graphs] OK: show (shrink $ 1 * 2) == "(fromJust . toAcyclic) (edge 1 2)"
  1238. 1788.22 s [algebraic-graphs] OK: show (shrink $ 1 * 2 * 3) == "(fromJust . toAcyclic) (edges [(1,2),(1,3),(2,3)])"
  1239. 1788.22 s [algebraic-graphs] OK: show (shrink $ 1 * 2 + 3) == "(fromJust . toAcyclic) (overlay (vertex 3) (edge 1 2))"
  1240. 1788.22 s [algebraic-graphs]
  1241. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.fromAcyclic ============
  1242. 1788.22 s [algebraic-graphs] OK: fromAcyclic empty == empty
  1243. 1788.22 s [algebraic-graphs] OK: fromAcyclic . vertex == vertex
  1244. 1788.22 s [algebraic-graphs] OK: fromAcyclic (shrink $ 1 * 3 * 2) == star 1 [2,3]
  1245. 1788.22 s [algebraic-graphs] OK: vertexCount . fromAcyclic == vertexCount
  1246. 1788.22 s [algebraic-graphs] OK: edgeCount . fromAcyclic == edgeCount
  1247. 1788.22 s [algebraic-graphs] OK: isAcyclic . fromAcyclic == const True
  1248. 1788.22 s [algebraic-graphs]
  1249. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.empty ============
  1250. 1788.22 s [algebraic-graphs] OK: isEmpty empty == True
  1251. 1788.22 s [algebraic-graphs] OK: hasVertex x empty == False
  1252. 1788.22 s [algebraic-graphs] OK: vertexCount empty == 0
  1253. 1788.22 s [algebraic-graphs] OK: edgeCount empty == 0
  1254. 1788.22 s [algebraic-graphs]
  1255. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertex ============
  1256. 1788.22 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1257. 1788.22 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1258. 1788.22 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1259. 1788.22 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1260. 1788.22 s [algebraic-graphs]
  1261. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertices ============
  1262. 1788.22 s [algebraic-graphs] OK: vertices [] == empty
  1263. 1788.22 s [algebraic-graphs] OK: vertices [x] == vertex x
  1264. 1788.22 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  1265. 1788.22 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  1266. 1788.22 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1267. 1788.22 s [algebraic-graphs]
  1268. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.union ============
  1269. 1788.22 s [algebraic-graphs] OK: vertexSet (union x y) == <correct result>
  1270. 1788.22 s [algebraic-graphs] OK: edgeSet (union x y) == <correct result>
  1271. 1788.22 s [algebraic-graphs]
  1272. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.join ============
  1273. 1788.22 s [algebraic-graphs] OK: vertexSet (join x y) == <correct result>
  1274. 1788.22 s [algebraic-graphs] OK: edgeSet (join x y) == <correct result>
  1275. 1788.22 s [algebraic-graphs]
  1276. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.isSubgraphOf ============
  1277. 1788.22 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  1278. 1788.22 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  1279. 1788.22 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  1280. 1788.22 s [algebraic-graphs] OK: isSubgraphOf x (transitiveClosure x) == True
  1281. 1788.22 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  1282. 1788.22 s [algebraic-graphs]
  1283. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.isEmpty ============
  1284. 1788.22 s [algebraic-graphs] OK: isEmpty empty == True
  1285. 1788.22 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1286. 1788.22 s [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
  1287. 1788.22 s [algebraic-graphs] OK: isEmpty (removeEdge 1 2 $ shrink $ 1 * 2) == False
  1288. 1788.22 s [algebraic-graphs]
  1289. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.hasVertex ============
  1290. 1788.22 s [algebraic-graphs] OK: hasVertex x empty == False
  1291. 1788.22 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1292. 1788.22 s [algebraic-graphs] OK: hasVertex x . removeVertex x == const False
  1293. 1788.22 s [algebraic-graphs]
  1294. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.hasEdge ============
  1295. 1788.22 s [algebraic-graphs] OK: hasEdge x y empty == False
  1296. 1788.22 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  1297. 1788.22 s [algebraic-graphs] OK: hasEdge 1 2 (shrink $ 1 * 2) == True
  1298. 1788.22 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  1299. 1788.22 s [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
  1300. 1788.22 s [algebraic-graphs]
  1301. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertexCount ============
  1302. 1788.22 s [algebraic-graphs] OK: vertexCount empty == 0
  1303. 1788.22 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1304. 1788.22 s [algebraic-graphs] OK: vertexCount == length . vertexList
  1305. 1788.22 s [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
  1306. 1788.22 s [algebraic-graphs]
  1307. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.edgeCount ============
  1308. 1788.22 s [algebraic-graphs] OK: edgeCount empty == 0
  1309. 1788.22 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1310. 1788.22 s [algebraic-graphs] OK: edgeCount (shrink $ 1 * 2) == 1
  1311. 1788.22 s [algebraic-graphs] OK: edgeCount == length . edgeList
  1312. 1788.22 s [algebraic-graphs]
  1313. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertexList ============
  1314. 1788.22 s [algebraic-graphs] OK: vertexList empty == []
  1315. 1788.22 s [algebraic-graphs] OK: vertexList (vertex x) == [x]
  1316. 1788.22 s [algebraic-graphs] OK: vertexList . vertices == nub . sort
  1317. 1788.22 s [algebraic-graphs]
  1318. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.edgeList ============
  1319. 1788.22 s [algebraic-graphs] OK: edgeList empty == []
  1320. 1788.22 s [algebraic-graphs] OK: edgeList (vertex x) == []
  1321. 1788.22 s [algebraic-graphs] OK: edgeList (shrink $ 2 * 1) == [(2,1)]
  1322. 1788.22 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  1323. 1788.22 s [algebraic-graphs]
  1324. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.adjacencyList ============
  1325. 1788.22 s [algebraic-graphs] OK: adjacencyList empty == []
  1326. 1788.22 s [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
  1327. 1788.22 s [algebraic-graphs] OK: adjacencyList (shrink $ 1 * 2) == [(1, [2]), (2, [])]
  1328. 1788.22 s [algebraic-graphs]
  1329. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.vertexSet ============
  1330. 1788.22 s [algebraic-graphs] OK: vertexSet empty == Set.empty
  1331. 1788.22 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  1332. 1788.22 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1333. 1788.22 s [algebraic-graphs]
  1334. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.edgeSet ============
  1335. 1788.22 s [algebraic-graphs] OK: edgeSet empty == Set.empty
  1336. 1788.22 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  1337. 1788.22 s [algebraic-graphs] OK: edgeSet (shrink $ 1 * 2) == Set.singleton (1,2)
  1338. 1788.22 s [algebraic-graphs]
  1339. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.preSet ============
  1340. 1788.22 s [algebraic-graphs] OK: preSet x empty == Set.empty
  1341. 1788.22 s [algebraic-graphs] OK: preSet x (vertex x) == Set.empty
  1342. 1788.22 s [algebraic-graphs] OK: preSet 1 (shrink $ 1 * 2) == Set.empty
  1343. 1788.22 s [algebraic-graphs] OK: preSet 2 (shrink $ 1 * 2) == Set.fromList [1]
  1344. 1788.22 s [algebraic-graphs] OK: Set.member x . preSet x == const False
  1345. 1788.22 s [algebraic-graphs]
  1346. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.postSet ============
  1347. 1788.22 s [algebraic-graphs] OK: postSet x empty == Set.empty
  1348. 1788.22 s [algebraic-graphs] OK: postSet x (vertex x) == Set.empty
  1349. 1788.22 s [algebraic-graphs] OK: postSet 1 (shrink $ 1 * 2) == Set.fromList [2]
  1350. 1788.22 s [algebraic-graphs] OK: postSet 2 (shrink $ 1 * 2) == Set.empty
  1351. 1788.22 s [algebraic-graphs] OK: Set.member x . postSet x == const False
  1352. 1788.22 s [algebraic-graphs]
  1353. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.removeVertex ============
  1354. 1788.22 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  1355. 1788.22 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  1356. 1788.22 s [algebraic-graphs] OK: removeVertex 1 (shrink $ 1 * 2) == vertex 2
  1357. 1788.22 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  1358. 1788.22 s [algebraic-graphs]
  1359. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.removeEdge ============
  1360. 1788.22 s [algebraic-graphs] OK: removeEdge 1 2 (shrink $ 1 * 2) == vertices [1,2]
  1361. 1788.22 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  1362. 1788.22 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  1363. 1788.22 s [algebraic-graphs] OK: removeEdge 1 2 (shrink $ 1 * 2 * 3) == shrink ((1 + 2) * 3)
  1364. 1788.22 s [algebraic-graphs]
  1365. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.transpose ============
  1366. 1788.22 s [algebraic-graphs] OK: transpose empty == empty
  1367. 1788.22 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  1368. 1788.22 s [algebraic-graphs] OK: transpose . transpose == id
  1369. 1788.22 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  1370. 1788.22 s [algebraic-graphs]
  1371. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.induce ============
  1372. 1788.22 s [algebraic-graphs] OK: induce (const True ) x == x
  1373. 1788.22 s [algebraic-graphs] OK: induce (const False) x == empty
  1374. 1788.22 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  1375. 1788.22 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  1376. 1788.22 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  1377. 1788.22 s [algebraic-graphs]
  1378. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.induceJust ============
  1379. 1788.22 s [algebraic-graphs] OK: induceJust (vertex Nothing) == empty
  1380. 1788.22 s [algebraic-graphs] OK: induceJust . vertex . Just == vertex
  1381. 1788.22 s [algebraic-graphs]
  1382. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.box ============
  1383. 1788.22 s [algebraic-graphs] OK: edgeList (box (shrink $ 1 * 2) (shrink $ 10 * 20)) == <correct result>
  1384. 1788.22 s [algebraic-graphs]
  1385. 1788.22 s [algebraic-graphs] OK: box x y ~~ box y x
  1386. 1788.22 s [algebraic-graphs] OK: box x (vertex ()) ~~ x
  1387. 1788.22 s [algebraic-graphs] OK: box x empty ~~ empty
  1388. 1788.22 s [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z
  1389. 1788.22 s [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y)
  1390. 1788.22 s [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y
  1391. 1788.22 s [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y
  1392. 1788.22 s [algebraic-graphs]
  1393. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.transitiveClosure ============
  1394. 1788.22 s [algebraic-graphs] OK: transitiveClosure empty == empty
  1395. 1788.22 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  1396. 1788.22 s [algebraic-graphs] OK: transitiveClosure (shrink $ 1 * 2 + 2 * 3) == shrink (1 * 2 + 1 * 3 + 2 * 3)
  1397. 1788.22 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  1398. 1788.22 s [algebraic-graphs]
  1399. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.topSort ============
  1400. 1788.22 s [algebraic-graphs] OK: topSort empty == []
  1401. 1788.22 s [algebraic-graphs] OK: topSort (vertex x) == [x]
  1402. 1788.22 s [algebraic-graphs] OK: topSort (shrink $ 1 * (2 + 4) + 3 * 4) == [1, 2, 3, 4]
  1403. 1788.22 s [algebraic-graphs] OK: topSort (join x y) == fmap Left (topSort x) ++ fmap Right (topSort y)
  1404. 1788.22 s [algebraic-graphs] OK: Right . topSort == AM.topSort . fromAcyclic
  1405. 1788.22 s [algebraic-graphs]
  1406. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.scc ============
  1407. 1788.22 s [algebraic-graphs] OK: scc empty == empty
  1408. 1788.22 s [algebraic-graphs] OK: scc (vertex x) == vertex (NonEmpty.vertex x)
  1409. 1788.22 s [algebraic-graphs] OK: scc (edge 1 1) == vertex (NonEmpty.edge 1 1)
  1410. 1788.22 s [algebraic-graphs] OK: edgeList $ scc (edge 1 2) == [ (NonEmpty.vertex 1, NonEmpty.vertex 2) ]
  1411. 1788.22 s [algebraic-graphs] OK: edgeList $ scc (3 * 1 * 4 * 1 * 5) == <correct result>
  1412. 1788.22 s [algebraic-graphs]
  1413. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.toAcyclic ============
  1414. 1788.22 s [algebraic-graphs] OK: toAcyclic (path [1,2,3]) == Just (shrink $ 1 * 2 + 2 * 3)
  1415. 1788.22 s [algebraic-graphs] OK: toAcyclic (clique [3,2,1]) == Just (transpose (shrink $ 1 * 2 * 3))
  1416. 1788.22 s [algebraic-graphs] OK: toAcyclic (circuit [1,2,3]) == Nothing
  1417. 1788.22 s [algebraic-graphs] OK: toAcyclic . fromAcyclic == Just
  1418. 1788.22 s [algebraic-graphs]
  1419. 1788.22 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.toAcyclicOrd ============
  1420. 1788.22 s [algebraic-graphs] OK: toAcyclicOrd empty == empty
  1421. 1788.22 s [algebraic-graphs] OK: toAcyclicOrd . vertex == vertex
  1422. 1788.22 s [algebraic-graphs] OK: toAcyclicOrd (1 + 2) == shrink (1 + 2)
  1423. 1788.22 s [algebraic-graphs] OK: toAcyclicOrd (1 * 2) == shrink (1 * 2)
  1424. 1788.22 s [algebraic-graphs] OK: toAcyclicOrd (2 * 1) == shrink (1 + 2)
  1425. 1788.22 s [algebraic-graphs] OK: toAcyclicOrd (1 * 2 * 1) == shrink (1 * 2)
  1426. 1790.30 s [haskell-language-server] [ 8 of 10] Compiling Ide.Plugin.Eval.Code ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Code.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Code.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Code.dyn_o )
  1427. 1790.30 s [haskell-language-server] [ 9 of 10] Compiling Ide.Plugin.Eval.Handlers ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Handlers.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Handlers.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Handlers.dyn_o )
  1428. 1791.10 s [algebraic-graphs] OK: toAcyclicOrd (1 * 2 * 3) == shrink (1 * 2 * 3)
  1429. 1791.10 s [algebraic-graphs]
  1430. 1791.10 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.shrink ============
  1431. 1791.10 s [algebraic-graphs] OK: shrink . AM.vertex == vertex
  1432. 1791.10 s [algebraic-graphs] OK: shrink . AM.vertices == vertices
  1433. 1791.10 s [algebraic-graphs] OK: shrink . fromAcyclic == id
  1434. 1791.10 s [algebraic-graphs]
  1435. 1791.10 s [algebraic-graphs] ============ Acyclic.AdjacencyMap.consistent ============
  1436. 1791.10 s [algebraic-graphs] OK: Arbitrary
  1437. 1791.10 s [algebraic-graphs] OK: empty
  1438. 1791.10 s [algebraic-graphs] OK: vertex
  1439. 1791.10 s [algebraic-graphs] OK: vertices
  1440. 1791.10 s [algebraic-graphs] OK: union
  1441. 1791.10 s [algebraic-graphs] OK: join
  1442. 1791.10 s [algebraic-graphs] OK: transpose
  1443. 1791.10 s [algebraic-graphs] OK: box
  1444. 1791.10 s [algebraic-graphs] OK: transitiveClosure
  1445. 1791.10 s [algebraic-graphs] OK: scc
  1446. 1791.10 s [algebraic-graphs] OK: toAcyclic
  1447. 1791.10 s [algebraic-graphs] OK: toAcyclicOrd
  1448. 1791.10 s [algebraic-graphs]
  1449. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap ============
  1450. 1791.10 s [algebraic-graphs] OK: Axioms of graphs
  1451. 1791.10 s [algebraic-graphs]
  1452. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.fromAdjacencyMap ============
  1453. 1791.10 s [algebraic-graphs] OK: fromAdjacencyMap == stars . AdjacencyMap.adjacencyList
  1454. 1791.10 s [algebraic-graphs]
  1455. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.consistent ============
  1456. 1791.10 s [algebraic-graphs] OK: Consistency of the Arbitrary instance
  1457. 1791.10 s [algebraic-graphs]
  1458. 1791.10 s [algebraic-graphs] OK: consistent empty == True
  1459. 1791.10 s [algebraic-graphs] OK: consistent (vertex x) == True
  1460. 1791.10 s [algebraic-graphs] OK: consistent (overlay x y) == True
  1461. 1791.10 s [algebraic-graphs] OK: consistent (connect x y) == True
  1462. 1791.10 s [algebraic-graphs] OK: consistent (edge x y) == True
  1463. 1791.10 s [algebraic-graphs] OK: consistent (edges xs) == True
  1464. 1791.10 s [algebraic-graphs] OK: consistent (stars xs) == True
  1465. 1791.10 s [algebraic-graphs]
  1466. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.Show ============
  1467. 1791.10 s [algebraic-graphs] OK: show (empty ) == "empty"
  1468. 1791.10 s [algebraic-graphs] OK: show (1 ) == "vertex 1"
  1469. 1791.10 s [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
  1470. 1791.10 s [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
  1471. 1791.10 s [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
  1472. 1791.10 s [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
  1473. 1791.10 s [algebraic-graphs]
  1474. 1791.10 s [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
  1475. 1791.10 s [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
  1476. 1791.10 s [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
  1477. 1791.10 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
  1478. 1791.10 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
  1479. 1791.10 s [algebraic-graphs]
  1480. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.Ord ============
  1481. 1791.10 s [algebraic-graphs] OK: vertex 1 < vertex 2
  1482. 1791.10 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  1483. 1791.10 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  1484. 1791.10 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  1485. 1791.10 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  1486. 1791.10 s [algebraic-graphs] OK: edge 1 2 < edge 1 3
  1487. 1791.10 s [algebraic-graphs] OK: x <= x + y
  1488. 1791.10 s [algebraic-graphs] OK: x + y <= x * y
  1489. 1791.10 s [algebraic-graphs]
  1490. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.empty ============
  1491. 1791.10 s [algebraic-graphs] OK: isEmpty empty == True
  1492. 1791.10 s [algebraic-graphs] OK: hasVertex x empty == False
  1493. 1791.10 s [algebraic-graphs] OK: vertexCount empty == 0
  1494. 1791.10 s [algebraic-graphs] OK: edgeCount empty == 0
  1495. 1791.10 s [algebraic-graphs]
  1496. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.vertex ============
  1497. 1791.10 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1498. 1791.10 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1499. 1791.10 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1500. 1791.10 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1501. 1791.10 s [algebraic-graphs]
  1502. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.edge ============
  1503. 1791.10 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  1504. 1791.10 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  1505. 1791.10 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  1506. 1791.10 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  1507. 1791.10 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  1508. 1791.10 s [algebraic-graphs]
  1509. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.overlay ============
  1510. 1791.10 s [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
  1511. 1791.10 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  1512. 1791.10 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  1513. 1791.10 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  1514. 1791.10 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  1515. 1791.10 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  1516. 1791.10 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  1517. 1791.10 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  1518. 1791.10 s [algebraic-graphs]
  1519. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.connect ============
  1520. 1791.10 s [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
  1521. 1791.10 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  1522. 1791.10 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  1523. 1791.10 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  1524. 1791.10 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  1525. 1791.10 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  1526. 1791.10 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
  1527. 1791.10 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  1528. 1791.10 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  1529. 1791.10 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  1530. 1791.10 s [algebraic-graphs]
  1531. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.vertices ============
  1532. 1791.10 s [algebraic-graphs] OK: vertices [] == empty
  1533. 1791.10 s [algebraic-graphs] OK: vertices [x] == vertex x
  1534. 1791.10 s [algebraic-graphs] OK: vertices == overlays . map vertex
  1535. 1791.10 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  1536. 1791.10 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  1537. 1791.10 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1538. 1791.10 s [algebraic-graphs]
  1539. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.edges ============
  1540. 1791.10 s [algebraic-graphs] OK: edges [] == empty
  1541. 1791.10 s [algebraic-graphs] OK: edges [(x,y)] == edge x y
  1542. 1791.10 s [algebraic-graphs] OK: edges == overlays . map (uncurry edge)
  1543. 1791.10 s [algebraic-graphs] OK: edgeCount . edges == length . nub
  1544. 1791.10 s [algebraic-graphs]
  1545. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.overlays ============
  1546. 1791.10 s [algebraic-graphs] OK: overlays [] == empty
  1547. 1791.10 s [algebraic-graphs] OK: overlays [x] == x
  1548. 1791.10 s [algebraic-graphs] OK: overlays [x,y] == overlay x y
  1549. 1791.10 s [algebraic-graphs] OK: overlays == foldr overlay empty
  1550. 1791.10 s [algebraic-graphs] OK: isEmpty . overlays == all isEmpty
  1551. 1791.10 s [algebraic-graphs]
  1552. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.connects ============
  1553. 1791.10 s [algebraic-graphs] OK: connects [] == empty
  1554. 1791.10 s [algebraic-graphs] OK: connects [x] == x
  1555. 1791.10 s [algebraic-graphs] OK: connects [x,y] == connect x y
  1556. 1791.10 s [algebraic-graphs] OK: connects == foldr connect empty
  1557. 1791.10 s [algebraic-graphs] OK: isEmpty . connects == all isEmpty
  1558. 1791.10 s [algebraic-graphs]
  1559. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.fromAdjacencyIntSets ============
  1560. 1791.10 s [algebraic-graphs] OK: fromAdjacencyIntSets [] == empty
  1561. 1791.10 s [algebraic-graphs] OK: fromAdjacencyIntSets [(x, IntSet.empty)] == vertex x
  1562. 1791.10 s [algebraic-graphs] OK: fromAdjacencyIntSets [(x, IntSet.singleton y)] == edge x y
  1563. 1791.10 s [algebraic-graphs] OK: fromAdjacencyIntSets . map (fmap IntSet.fromList) == stars
  1564. 1791.10 s [algebraic-graphs] OK: overlay (fromAdjacencyIntSets xs) (fromAdjacencyIntSets ys) == fromAdjacencyIntSets (xs ++ ys)
  1565. 1791.10 s [algebraic-graphs]
  1566. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.isSubgraphOf ============
  1567. 1791.10 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  1568. 1791.10 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  1569. 1791.10 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  1570. 1791.10 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  1571. 1791.10 s [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
  1572. 1791.10 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  1573. 1791.10 s [algebraic-graphs]
  1574. 1791.10 s [algebraic-graphs] ============ AdjacencyIntMap.toGraph et al. ============
  1575. 1791.10 s [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect
  1576. 1791.10 s [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph
  1577. 1791.10 s [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&)
  1578. 1791.10 s [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+)
  1579. 1791.10 s [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||)
  1580. 1791.10 s [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph
  1581. 1791.10 s [algebraic-graphs] OK: vertexCount == Set.size . vertexSet
  1582. 1791.10 s [algebraic-graphs] OK: edgeCount == Set.size . edgeSet
  1583. 1791.10 s [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet
  1584. 1791.10 s [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet
  1585. 1791.10 s [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union
  1586. 1791.10 s [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union
  1587. 1791.10 s [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect
  1588. 1791.10 s [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap
  1589. 1791.10 s [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap
  1590. 1791.10 s [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap
  1591. 1791.10 s [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap
  1592. 1791.10 s [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap
  1593. 1791.10 s [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap
  1594. 1791.10 s [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap
  1595. 1791.10 s [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose
  1596. 1791.10 s [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose
  1597. 1791.10 s [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap
  1598. 1791.10 s [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap
  1599. 1791.10 s [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap
  1600. 1791.10 s [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap
  1601. 1791.10 s [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap
  1602. 1791.10 s [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap
  1603. 1791.10 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  1604. 1791.10 s [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect
  1605. 1791.10 s [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect)
  1606. 1791.10 s [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect
  1607. 1791.10 s [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect)
  1608. 1791.10 s [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap
  1609. 1791.76 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  1610. 1791.76 s [algebraic-graphs]
  1611. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.foldg ============
  1612. 1791.76 s [algebraic-graphs] OK: foldg empty vertex overlay connect == id
  1613. 1791.76 s [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose
  1614. 1791.76 s [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size
  1615. 1791.76 s [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty
  1616. 1791.76 s [algebraic-graphs]
  1617. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.isEmpty ============
  1618. 1791.76 s [algebraic-graphs] OK: isEmpty empty == True
  1619. 1791.76 s [algebraic-graphs] OK: isEmpty (overlay empty empty) == True
  1620. 1791.76 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1621. 1791.76 s [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
  1622. 1791.76 s [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False
  1623. 1791.76 s [algebraic-graphs]
  1624. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.hasVertex ============
  1625. 1791.76 s [algebraic-graphs] OK: hasVertex x empty == False
  1626. 1791.76 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1627. 1791.76 s [algebraic-graphs] OK: hasVertex x . removeVertex x == const False
  1628. 1791.76 s [algebraic-graphs]
  1629. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.hasEdge ============
  1630. 1791.76 s [algebraic-graphs] OK: hasEdge x y empty == False
  1631. 1791.76 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  1632. 1791.76 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  1633. 1791.76 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  1634. 1791.76 s [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
  1635. 1791.76 s [algebraic-graphs]
  1636. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.vertexCount ============
  1637. 1791.76 s [algebraic-graphs] OK: vertexCount empty == 0
  1638. 1791.76 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1639. 1791.76 s [algebraic-graphs] OK: vertexCount == length . vertexList
  1640. 1791.76 s [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
  1641. 1791.76 s [algebraic-graphs]
  1642. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.edgeCount ============
  1643. 1791.76 s [algebraic-graphs] OK: edgeCount empty == 0
  1644. 1791.76 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1645. 1791.76 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  1646. 1791.76 s [algebraic-graphs] OK: edgeCount == length . edgeList
  1647. 1791.76 s [algebraic-graphs]
  1648. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.vertexList ============
  1649. 1791.76 s [algebraic-graphs] OK: vertexList empty == []
  1650. 1791.76 s [algebraic-graphs] OK: vertexList (vertex x) == [x]
  1651. 1791.76 s [algebraic-graphs] OK: vertexList . vertices == nub . sort
  1652. 1791.76 s [algebraic-graphs]
  1653. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.vertexSet ============
  1654. 1791.76 s [algebraic-graphs] OK: vertexSet empty == Set.empty
  1655. 1791.76 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  1656. 1791.76 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1657. 1791.76 s [algebraic-graphs]
  1658. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.vertexIntSet ============
  1659. 1791.76 s [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty
  1660. 1791.76 s [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton
  1661. 1791.76 s [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList
  1662. 1791.76 s [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList
  1663. 1791.76 s [algebraic-graphs]
  1664. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.edgeList ============
  1665. 1791.76 s [algebraic-graphs] OK: edgeList empty == []
  1666. 1791.76 s [algebraic-graphs] OK: edgeList (vertex x) == []
  1667. 1791.76 s [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
  1668. 1791.76 s [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
  1669. 1791.76 s [algebraic-graphs] OK: edgeList . edges == nub . sort
  1670. 1791.76 s [algebraic-graphs]
  1671. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.edgeSet ============
  1672. 1791.76 s [algebraic-graphs] OK: edgeSet empty == Set.empty
  1673. 1791.76 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  1674. 1791.76 s [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
  1675. 1791.76 s [algebraic-graphs] OK: edgeSet . edges == Set.fromList
  1676. 1791.76 s [algebraic-graphs]
  1677. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.adjacencyList ============
  1678. 1791.76 s [algebraic-graphs] OK: adjacencyList empty == []
  1679. 1791.76 s [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
  1680. 1791.76 s [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])]
  1681. 1791.76 s [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])]
  1682. 1791.76 s [algebraic-graphs]
  1683. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.preSet ============
  1684. 1791.76 s [algebraic-graphs] OK: preSet x empty == Set.empty
  1685. 1791.76 s [algebraic-graphs] OK: preSet x (vertex x) == Set.empty
  1686. 1791.76 s [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty
  1687. 1791.76 s [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x]
  1688. 1791.76 s [algebraic-graphs]
  1689. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.preIntSet ============
  1690. 1791.76 s [algebraic-graphs] OK: preIntSet x empty == IntSet.empty
  1691. 1791.76 s [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty
  1692. 1791.76 s [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty
  1693. 1791.76 s [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x]
  1694. 1791.76 s [algebraic-graphs]
  1695. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.postSet ============
  1696. 1791.76 s [algebraic-graphs] OK: postSet x empty == Set.empty
  1697. 1791.76 s [algebraic-graphs] OK: postSet x (vertex x) == Set.empty
  1698. 1791.76 s [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y]
  1699. 1791.76 s [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty
  1700. 1791.76 s [algebraic-graphs]
  1701. 1791.76 s [algebraic-graphs] ============ AdjacencyIntMap.postIntSet ============
  1702. 1791.76 s [algebraic-graphs] OK: postIntSet x empty == IntSet.empty
  1703. 1791.76 s [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty
  1704. 1791.76 s [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty
  1705. 1791.77 s [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y]
  1706. 1791.77 s [algebraic-graphs]
  1707. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.path ============
  1708. 1791.77 s [algebraic-graphs] OK: path [] == empty
  1709. 1791.77 s [algebraic-graphs] OK: path [x] == vertex x
  1710. 1791.77 s [algebraic-graphs] OK: path [x,y] == edge x y
  1711. 1791.77 s [algebraic-graphs]
  1712. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.circuit ============
  1713. 1791.77 s [algebraic-graphs] OK: circuit [] == empty
  1714. 1791.77 s [algebraic-graphs] OK: circuit [x] == edge x x
  1715. 1791.77 s [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
  1716. 1791.77 s [algebraic-graphs]
  1717. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.clique ============
  1718. 1791.77 s [algebraic-graphs] OK: clique [] == empty
  1719. 1791.77 s [algebraic-graphs] OK: clique [x] == vertex x
  1720. 1791.77 s [algebraic-graphs] OK: clique [x,y] == edge x y
  1721. 1791.77 s [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
  1722. 1791.77 s [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
  1723. 1791.77 s [algebraic-graphs]
  1724. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.biclique ============
  1725. 1791.77 s [algebraic-graphs] OK: biclique [] [] == empty
  1726. 1791.77 s [algebraic-graphs] OK: biclique [x] [] == vertex x
  1727. 1791.77 s [algebraic-graphs] OK: biclique [] [y] == vertex y
  1728. 1791.77 s [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  1729. 1791.77 s [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
  1730. 1791.77 s [algebraic-graphs]
  1731. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.star ============
  1732. 1791.77 s [algebraic-graphs] OK: star x [] == vertex x
  1733. 1791.77 s [algebraic-graphs] OK: star x [y] == edge x y
  1734. 1791.77 s [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
  1735. 1791.77 s [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
  1736. 1791.77 s [algebraic-graphs]
  1737. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.stars ============
  1738. 1791.77 s [algebraic-graphs] OK: stars [] == empty
  1739. 1791.77 s [algebraic-graphs] OK: stars [(x, [])] == vertex x
  1740. 1791.77 s [algebraic-graphs] OK: stars [(x, [y])] == edge x y
  1741. 1791.77 s [algebraic-graphs] OK: stars [(x, ys)] == star x ys
  1742. 1791.77 s [algebraic-graphs] OK: stars == overlays . map (uncurry star)
  1743. 1791.77 s [algebraic-graphs] OK: stars . adjacencyList == id
  1744. 1791.77 s [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
  1745. 1791.77 s [algebraic-graphs]
  1746. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.tree ============
  1747. 1791.77 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  1748. 1791.77 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
  1749. 1791.77 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  1750. 1791.77 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
  1751. 1791.77 s [algebraic-graphs]
  1752. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.forest ============
  1753. 1791.77 s [algebraic-graphs] OK: forest [] == empty
  1754. 1791.77 s [algebraic-graphs] OK: forest [x] == tree x
  1755. 1791.77 s [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
  1756. 1791.77 s [algebraic-graphs] OK: forest == overlays . map tree
  1757. 1791.77 s [algebraic-graphs]
  1758. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.removeVertex ============
  1759. 1791.77 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  1760. 1791.77 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  1761. 1791.77 s [algebraic-graphs] OK: removeVertex x (edge x x) == empty
  1762. 1791.77 s [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
  1763. 1791.77 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  1764. 1791.77 s [algebraic-graphs]
  1765. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.removeEdge ============
  1766. 1791.77 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
  1767. 1791.77 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  1768. 1791.77 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  1769. 1791.77 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  1770. 1791.77 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  1771. 1791.77 s [algebraic-graphs]
  1772. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.replaceVertex ============
  1773. 1791.77 s [algebraic-graphs] OK: replaceVertex x x == id
  1774. 1791.77 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  1775. 1791.77 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  1776. 1791.77 s [algebraic-graphs]
  1777. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.mergeVertices ============
  1778. 1791.77 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  1779. 1791.77 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  1780. 1791.77 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  1781. 1791.77 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  1782. 1791.77 s [algebraic-graphs]
  1783. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.transpose ============
  1784. 1791.77 s [algebraic-graphs] OK: transpose empty == empty
  1785. 1791.77 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  1786. 1791.77 s [algebraic-graphs] OK: transpose (edge x y) == edge y x
  1787. 1791.77 s [algebraic-graphs] OK: transpose . transpose == id
  1788. 1791.77 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  1789. 1791.77 s [algebraic-graphs]
  1790. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.gmap ============
  1791. 1791.77 s [algebraic-graphs] OK: gmap f empty == empty
  1792. 1791.77 s [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
  1793. 1791.77 s [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
  1794. 1791.77 s [algebraic-graphs] OK: gmap id == id
  1795. 1791.77 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  1796. 1791.77 s [algebraic-graphs]
  1797. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.induce ============
  1798. 1791.77 s [algebraic-graphs] OK: induce (const True ) x == x
  1799. 1791.77 s [algebraic-graphs] OK: induce (const False) x == empty
  1800. 1791.77 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  1801. 1791.77 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  1802. 1791.77 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  1803. 1791.77 s [algebraic-graphs]
  1804. 1791.77 s [algebraic-graphs] ============ AdjacencyIntMap.compose ============
  1805. 1791.77 s [algebraic-graphs] OK: compose empty x == empty
  1806. 1791.77 s [algebraic-graphs] OK: compose x empty == empty
  1807. 1791.77 s [algebraic-graphs] OK: compose (vertex x) y == empty
  1808. 1791.77 s [algebraic-graphs] OK: compose x (vertex y) == empty
  1809. 1791.77 s [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z
  1810. 1791.77 s [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z)
  1811. 1791.91 s [haskell-language-server] [10 of 10] Compiling Ide.Plugin.Eval ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval.o, dist/build/hls-eval-plugin/Ide/Plugin/Eval.dyn_o )
  1812. 1791.97 s [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z)
  1813. 1791.97 s [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z
  1814. 1791.97 s [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)]
  1815. 1791.97 s [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4]
  1816. 1791.97 s [algebraic-graphs]
  1817. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.closure ============
  1818. 1791.97 s [algebraic-graphs] OK: closure empty == empty
  1819. 1791.97 s [algebraic-graphs] OK: closure (vertex x) == edge x x
  1820. 1791.97 s [algebraic-graphs] OK: closure (edge x x) == edge x x
  1821. 1791.97 s [algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)]
  1822. 1791.97 s [algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs)
  1823. 1791.97 s [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
  1824. 1791.97 s [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
  1825. 1791.97 s [algebraic-graphs] OK: closure . closure == closure
  1826. 1791.97 s [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
  1827. 1791.97 s [algebraic-graphs]
  1828. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.reflexiveClosure ============
  1829. 1791.97 s [algebraic-graphs] OK: reflexiveClosure empty == empty
  1830. 1791.97 s [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x
  1831. 1791.97 s [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x
  1832. 1791.97 s [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)]
  1833. 1791.97 s [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
  1834. 1791.97 s [algebraic-graphs]
  1835. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.symmetricClosure ============
  1836. 1791.97 s [algebraic-graphs] OK: symmetricClosure empty == empty
  1837. 1791.97 s [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
  1838. 1791.97 s [algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)]
  1839. 1791.97 s [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
  1840. 1791.97 s [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
  1841. 1791.97 s [algebraic-graphs]
  1842. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.transitiveClosure ============
  1843. 1791.97 s [algebraic-graphs] OK: transitiveClosure empty == empty
  1844. 1791.97 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  1845. 1791.97 s [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y
  1846. 1791.97 s [algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs)
  1847. 1791.97 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  1848. 1791.97 s [algebraic-graphs]
  1849. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.bfsForest ============
  1850. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0] == empty
  1851. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [1] == edge 1 2
  1852. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2] == vertex 2
  1853. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0,1,2] == vertices [1,2]
  1854. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2,1,0] == vertices [1,2]
  1855. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 1) [1] == vertex 1
  1856. 1791.97 s [algebraic-graphs] OK: isSubgraphOf (forest $ bfsForest x vs) x == True
  1857. 1791.97 s [algebraic-graphs] OK: bfsForest x (vertexList x) == map ( -> Node v []) (nub $ vertexList x)
  1858. 1791.97 s [algebraic-graphs] OK: bfsForest x [] == []
  1859. 1791.97 s [algebraic-graphs] OK: bfsForest empty vs == []
  1860. 1791.97 s [algebraic-graphs] OK: bfsForest (3 * (1 + 4) * (1 + 5)) [1,4] == <correct result>
  1861. 1791.97 s [algebraic-graphs] OK: forest $ bfsForest (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1] + path [3,4,5]
  1862. 1791.97 s [algebraic-graphs]
  1863. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.bfs ============
  1864. 1791.97 s [algebraic-graphs] OK: bfs (edge 1 2) [0] == []
  1865. 1791.97 s [algebraic-graphs] OK: bfs (edge 1 2) [1] == [[1], [2]]
  1866. 1791.97 s [algebraic-graphs] OK: bfs (edge 1 2) [2] == [[2]]
  1867. 1791.97 s [algebraic-graphs] OK: bfs (edge 1 2) [1,2] == [[1,2]]
  1868. 1791.97 s [algebraic-graphs] OK: bfs (edge 1 2) [2,1] == [[2,1]]
  1869. 1791.97 s [algebraic-graphs] OK: bfs (edge 1 1) [1] == [[1]]
  1870. 1791.97 s [algebraic-graphs] OK: bfs empty vs == []
  1871. 1791.97 s [algebraic-graphs] OK: bfs x [] == []
  1872. 1791.97 s [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,2] == [[1,2]]
  1873. 1791.97 s [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,3] == [[1,3], [2,4]]
  1874. 1791.97 s [algebraic-graphs] OK: bfs (3 * (1 + 4) * (1 + 5)) [3] == [[3], [1,4,5]]
  1875. 1791.97 s [algebraic-graphs] OK: bfs (circuit [1..5] + circuit [5,4..1]) [2] == [[2], [1,3], [5,4]]
  1876. 1791.97 s [algebraic-graphs] OK: concat $ bfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,4,1,5]
  1877. 1791.97 s [algebraic-graphs] OK: map concat . transpose . map levels . bfsForest x == bfs x
  1878. 1791.97 s [algebraic-graphs]
  1879. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.dfsForest ============
  1880. 1791.97 s [algebraic-graphs] OK: forest $ dfsForest empty == empty
  1881. 1791.97 s [algebraic-graphs] OK: forest $ dfsForest (edge 1 1) == vertex 1
  1882. 1791.97 s [algebraic-graphs] OK: forest $ dfsForest (edge 1 2) == edge 1 2
  1883. 1791.97 s [algebraic-graphs] OK: forest $ dfsForest (edge 2 1) == vertices [1,2]
  1884. 1791.97 s [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest x) x == True
  1885. 1791.97 s [algebraic-graphs] OK: isDfsForestOf (dfsForest x) x == True
  1886. 1791.97 s [algebraic-graphs] OK: dfsForest . forest . dfsForest == dfsForest
  1887. 1791.97 s [algebraic-graphs] OK: dfsForest (vertices vs) == map (\v -> Node v []) (nub $ sort vs)
  1888. 1791.97 s [algebraic-graphs] OK: dfsForest $ 3 * (1 + 4) * (1 + 5) == <correct result>
  1889. 1791.97 s [algebraic-graphs] OK: forest (dfsForest $ circuit [1..5] + circuit [5,4..1]) == path [1,2,3,4,5]
  1890. 1791.97 s [algebraic-graphs]
  1891. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.dfsForestFrom ============
  1892. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom empty vs == empty
  1893. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 1) [1] == vertex 1
  1894. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [0] == empty
  1895. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1] == edge 1 2
  1896. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2] == vertex 2
  1897. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1,2] == edge 1 2
  1898. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2,1] == vertices [1,2]
  1899. 1791.97 s [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom x vs) x == True
  1900. 1791.97 s [algebraic-graphs] OK: isDfsForestOf (dfsForestFrom x (vertexList x)) x == True
  1901. 1791.97 s [algebraic-graphs] OK: dfsForestFrom x (vertexList x) == dfsForest x
  1902. 1791.97 s [algebraic-graphs] OK: dfsForestFrom x [] == []
  1903. 1791.97 s [algebraic-graphs] OK: dfsForestFrom (3 * (1 + 4) * (1 + 5)) [1,4] == <correct result>
  1904. 1791.97 s [algebraic-graphs] OK: forest $ dfsForestFrom (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1,5,4]
  1905. 1791.97 s [algebraic-graphs]
  1906. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.dfs ============
  1907. 1791.97 s [algebraic-graphs] OK: dfs empty vs == []
  1908. 1791.97 s [algebraic-graphs] OK: dfs (edge 1 1) [1] == [1]
  1909. 1791.97 s [algebraic-graphs] OK: dfs (edge 1 2) [0] == []
  1910. 1791.97 s [algebraic-graphs] OK: dfs (edge 1 2) [1] == [1,2]
  1911. 1791.97 s [algebraic-graphs] OK: dfs (edge 1 2) [2] == [2]
  1912. 1791.97 s [algebraic-graphs] OK: dfs (edge 1 2) [1,2] == [1,2]
  1913. 1791.97 s [algebraic-graphs] OK: dfs (edge 1 2) [2,1] == [2,1]
  1914. 1791.97 s [algebraic-graphs] OK: dfs x [] == []
  1915. 1791.97 s [algebraic-graphs]
  1916. 1791.97 s [algebraic-graphs] OK: and [ hasVertex v x | v <- dfs x vs ] == True
  1917. 1791.97 s [algebraic-graphs] OK: dfs (3 * (1 + 4) * (1 + 5)) [1,4] == [1,5,4]
  1918. 1791.97 s [algebraic-graphs] OK: dfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,1,5,4]
  1919. 1791.97 s [algebraic-graphs]
  1920. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.dfs ============
  1921. 1791.97 s [algebraic-graphs] OK: reachable empty x == []
  1922. 1791.97 s [algebraic-graphs] OK: reachable (vertex 1) 1 == [1]
  1923. 1791.97 s [algebraic-graphs] OK: reachable (edge 1 1) 1 == [1]
  1924. 1791.97 s [algebraic-graphs] OK: reachable (edge 1 2) 0 == []
  1925. 1791.97 s [algebraic-graphs] OK: reachable (edge 1 2) 1 == [1,2]
  1926. 1791.97 s [algebraic-graphs] OK: reachable (edge 1 2) 2 == [2]
  1927. 1791.97 s [algebraic-graphs] OK: reachable (path [1..8] ) 4 == [4..8]
  1928. 1791.97 s [algebraic-graphs] OK: reachable (circuit [1..8] ) 4 == [4..8] ++ [1..3]
  1929. 1791.97 s [algebraic-graphs] OK: reachable (clique [8,7..1]) 8 == [8] ++ [1..7]
  1930. 1791.97 s [algebraic-graphs]
  1931. 1791.97 s [algebraic-graphs] OK: and [ hasVertex v x | v <- reachable x y ] == True
  1932. 1791.97 s [algebraic-graphs]
  1933. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.topSort ============
  1934. 1791.97 s [algebraic-graphs] OK: topSort (1 * 2 + 3 * 1) == Right [3,1,2]
  1935. 1791.97 s [algebraic-graphs] OK: topSort (path [1..5]) == Right [1..5]
  1936. 1791.97 s [algebraic-graphs] OK: topSort (3 * (1 * 4 + 2 * 5)) == Right [3,1,2,4,5]
  1937. 1791.97 s [algebraic-graphs] OK: topSort (1 * 2 + 2 * 1) == Left (2 :| [1])
  1938. 1791.97 s [algebraic-graphs] OK: topSort (path [5,4..1] + edge 2 4) == Left (4 :| [3,2])
  1939. 1791.97 s [algebraic-graphs] OK: topSort (circuit [1..5]) == Left (3 :| [1,2])
  1940. 1791.97 s [algebraic-graphs] OK: topSort (circuit [1..3] + circuit [3,2,1]) == Left (3 :| [2])
  1941. 1791.97 s [algebraic-graphs] OK: topSort (1 * 2 + (5 + 2) * 1 + 3 * 4 * 3) == Left (1 :| [2])
  1942. 1791.97 s [algebraic-graphs] OK: fmap (flip isTopSortOf x) (topSort x) /= Right False
  1943. 1791.97 s [algebraic-graphs] OK: topSort . vertices == Right . nub . sort
  1944. 1791.97 s [algebraic-graphs]
  1945. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.testIsAcyclic ============
  1946. 1791.97 s [algebraic-graphs] OK: isAcyclic (1 * 2 + 3 * 1) == True
  1947. 1791.97 s [algebraic-graphs] OK: isAcyclic (1 * 2 + 2 * 1) == False
  1948. 1791.97 s [algebraic-graphs] OK: isAcyclic . circuit == null
  1949. 1791.97 s [algebraic-graphs] OK: isAcyclic == isRight . topSort
  1950. 1791.97 s [algebraic-graphs]
  1951. 1791.97 s [algebraic-graphs] ============ AdjacencyIntMap.isDfsForestOf ============
  1952. 1791.97 s [algebraic-graphs] OK: isDfsForestOf [] empty == True
  1953. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [] (vertex 1) == False
  1954. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 1) == True
  1955. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 2) == False
  1956. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 1 []] (vertex 1) == False
  1957. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 1) == True
  1958. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 2) == False
  1959. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 []] (edge 1 2) == False
  1960. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 2 [], Node 1 []] (edge 1 2) == True
  1961. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 []]] (edge 1 2) == True
  1962. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 []] (vertices [1,2]) == True
  1963. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 2 [], Node 1 []] (vertices [1,2]) == True
  1964. 1791.98 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 []]] (vertices [1,2]) == False
  1965. 1792.45 s [haskell-language-server] [ 1 of 10] Compiling Ide.Plugin.Eval.Config ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Config.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Config.p_o )
  1966. 1792.96 s [haskell-language-server] [ 2 of 10] Compiling Ide.Plugin.Eval.Parse.Option ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Parse/Option.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Parse/Option.p_o )
  1967. 1793.11 s [haskell-language-server] [ 3 of 10] Compiling Ide.Plugin.Eval.Util ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Util.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Util.p_o )
  1968. 1793.11 s [haskell-language-server] [ 4 of 10] Compiling Ide.Plugin.Eval.GHC ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/GHC.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/GHC.p_o )
  1969. 1793.89 s [haskell-language-server] [ 5 of 10] Compiling Ide.Plugin.Eval.Types ( plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Types.hs, dist/build/hls-eval-plugin/Ide/Plugin/Eval/Types.p_o )
  1970. 1795.96 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 2 [Node 3 []]]] (path [1,2,3]) == True
  1971. 1795.96 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [Node 3 [Node 2 []]]] (path [1,2,3]) == False
  1972. 1795.96 s [algebraic-graphs] OK: isDfsForestOf [Node 3 [], Node 1 [Node 2 []]] (path [1,2,3]) == True
  1973. 1795.96 s [algebraic-graphs] OK: isDfsForestOf [Node 2 [Node 3 []], Node 1 []] (path [1,2,3]) == True
  1974. 1795.96 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 2 [Node 3 []]] (path [1,2,3]) == False
  1975. 1795.96 s [algebraic-graphs]
  1976. 1795.96 s [algebraic-graphs] ============ AdjacencyIntMap.isTopSortOf ============
  1977. 1795.96 s [algebraic-graphs] OK: isTopSortOf [3,1,2] (1 * 2 + 3 * 1) == True
  1978. 1795.96 s [algebraic-graphs] OK: isTopSortOf [1,2,3] (1 * 2 + 3 * 1) == False
  1979. 1795.96 s [algebraic-graphs] OK: isTopSortOf [] (1 * 2 + 3 * 1) == False
  1980. 1795.96 s [algebraic-graphs] OK: isTopSortOf [] empty == True
  1981. 1795.96 s [algebraic-graphs] OK: isTopSortOf [x] (vertex x) == True
  1982. 1795.96 s [algebraic-graphs] OK: isTopSortOf [x] (edge x x) == False
  1983. 1795.96 s [algebraic-graphs]
  1984. 1795.96 s [algebraic-graphs] ============ AdjacencyMap ============
  1985. 1795.96 s [algebraic-graphs] OK: Axioms of graphs
  1986. 1795.96 s [algebraic-graphs]
  1987. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.consistent ============
  1988. 1795.96 s [algebraic-graphs] OK: Consistency of the Arbitrary instance
  1989. 1795.96 s [algebraic-graphs]
  1990. 1795.96 s [algebraic-graphs] OK: consistent empty == True
  1991. 1795.96 s [algebraic-graphs] OK: consistent (vertex x) == True
  1992. 1795.96 s [algebraic-graphs] OK: consistent (overlay x y) == True
  1993. 1795.96 s [algebraic-graphs] OK: consistent (connect x y) == True
  1994. 1795.96 s [algebraic-graphs] OK: consistent (edge x y) == True
  1995. 1795.96 s [algebraic-graphs] OK: consistent (edges xs) == True
  1996. 1795.96 s [algebraic-graphs] OK: consistent (stars xs) == True
  1997. 1795.96 s [algebraic-graphs]
  1998. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.Show ============
  1999. 1795.96 s [algebraic-graphs] OK: show (empty ) == "empty"
  2000. 1795.96 s [algebraic-graphs] OK: show (1 ) == "vertex 1"
  2001. 1795.96 s [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
  2002. 1795.96 s [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
  2003. 1795.96 s [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
  2004. 1795.96 s [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
  2005. 1795.96 s [algebraic-graphs]
  2006. 1795.96 s [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
  2007. 1795.96 s [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
  2008. 1795.96 s [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
  2009. 1795.96 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
  2010. 1795.96 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
  2011. 1795.96 s [algebraic-graphs]
  2012. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.Ord ============
  2013. 1795.96 s [algebraic-graphs] OK: vertex 1 < vertex 2
  2014. 1795.96 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  2015. 1795.96 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  2016. 1795.96 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  2017. 1795.96 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  2018. 1795.96 s [algebraic-graphs] OK: edge 1 2 < edge 1 3
  2019. 1795.96 s [algebraic-graphs] OK: x <= x + y
  2020. 1795.96 s [algebraic-graphs] OK: x + y <= x * y
  2021. 1795.96 s [algebraic-graphs]
  2022. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.empty ============
  2023. 1795.96 s [algebraic-graphs] OK: isEmpty empty == True
  2024. 1795.96 s [algebraic-graphs] OK: hasVertex x empty == False
  2025. 1795.96 s [algebraic-graphs] OK: vertexCount empty == 0
  2026. 1795.96 s [algebraic-graphs] OK: edgeCount empty == 0
  2027. 1795.96 s [algebraic-graphs]
  2028. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.vertex ============
  2029. 1795.96 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  2030. 1795.96 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  2031. 1795.96 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  2032. 1795.96 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  2033. 1795.96 s [algebraic-graphs]
  2034. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.edge ============
  2035. 1795.96 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  2036. 1795.96 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  2037. 1795.96 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  2038. 1795.96 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  2039. 1795.96 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  2040. 1795.96 s [algebraic-graphs]
  2041. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.overlay ============
  2042. 1795.96 s [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
  2043. 1795.96 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  2044. 1795.96 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  2045. 1795.96 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  2046. 1795.96 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  2047. 1795.96 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  2048. 1795.96 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  2049. 1795.96 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  2050. 1795.96 s [algebraic-graphs]
  2051. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.connect ============
  2052. 1795.96 s [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
  2053. 1795.96 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  2054. 1795.96 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  2055. 1795.96 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  2056. 1795.96 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  2057. 1795.96 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  2058. 1795.96 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
  2059. 1795.96 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  2060. 1795.96 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  2061. 1795.96 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  2062. 1795.96 s [algebraic-graphs]
  2063. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.vertices ============
  2064. 1795.96 s [algebraic-graphs] OK: vertices [] == empty
  2065. 1795.96 s [algebraic-graphs] OK: vertices [x] == vertex x
  2066. 1795.96 s [algebraic-graphs] OK: vertices == overlays . map vertex
  2067. 1795.96 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  2068. 1795.96 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  2069. 1795.96 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  2070. 1795.96 s [algebraic-graphs]
  2071. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.edges ============
  2072. 1795.96 s [algebraic-graphs] OK: edges [] == empty
  2073. 1795.96 s [algebraic-graphs] OK: edges [(x,y)] == edge x y
  2074. 1795.96 s [algebraic-graphs] OK: edges == overlays . map (uncurry edge)
  2075. 1795.96 s [algebraic-graphs] OK: edgeCount . edges == length . nub
  2076. 1795.96 s [algebraic-graphs]
  2077. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.overlays ============
  2078. 1795.96 s [algebraic-graphs] OK: overlays [] == empty
  2079. 1795.96 s [algebraic-graphs] OK: overlays [x] == x
  2080. 1795.96 s [algebraic-graphs] OK: overlays [x,y] == overlay x y
  2081. 1795.96 s [algebraic-graphs] OK: overlays == foldr overlay empty
  2082. 1795.96 s [algebraic-graphs] OK: isEmpty . overlays == all isEmpty
  2083. 1795.96 s [algebraic-graphs]
  2084. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.connects ============
  2085. 1795.96 s [algebraic-graphs] OK: connects [] == empty
  2086. 1795.96 s [algebraic-graphs] OK: connects [x] == x
  2087. 1795.96 s [algebraic-graphs] OK: connects [x,y] == connect x y
  2088. 1795.96 s [algebraic-graphs] OK: connects == foldr connect empty
  2089. 1795.96 s [algebraic-graphs] OK: isEmpty . connects == all isEmpty
  2090. 1795.96 s [algebraic-graphs]
  2091. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.fromAdjacencySets ============
  2092. 1795.96 s [algebraic-graphs] OK: fromAdjacencySets [] == empty
  2093. 1795.96 s [algebraic-graphs] OK: fromAdjacencySets [(x, Set.empty)] == vertex x
  2094. 1795.96 s [algebraic-graphs] OK: fromAdjacencySets [(x, Set.singleton y)] == edge x y
  2095. 1795.96 s [algebraic-graphs] OK: fromAdjacencySets . map (fmap Set.fromList) == stars
  2096. 1795.96 s [algebraic-graphs] OK: overlay (fromAdjacencySets xs) (fromAdjacencySets ys) == fromAdjacencySets (xs ++ ys)
  2097. 1795.96 s [algebraic-graphs]
  2098. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.isSubgraphOf ============
  2099. 1795.96 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  2100. 1795.96 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  2101. 1795.96 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  2102. 1795.96 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  2103. 1795.96 s [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
  2104. 1795.96 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  2105. 1795.96 s [algebraic-graphs]
  2106. 1795.96 s [algebraic-graphs] ============ AdjacencyMap.toGraph et al. ============
  2107. 1795.96 s [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect
  2108. 1795.96 s [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph
  2109. 1795.96 s [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&)
  2110. 1795.96 s [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+)
  2111. 1795.96 s [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||)
  2112. 1795.96 s [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph
  2113. 1795.96 s [algebraic-graphs] OK: vertexCount == Set.size . vertexSet
  2114. 1795.96 s [algebraic-graphs] OK: edgeCount == Set.size . edgeSet
  2115. 1795.96 s [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet
  2116. 1795.96 s [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet
  2117. 1795.96 s [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union
  2118. 1795.96 s [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union
  2119. 1795.96 s [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect
  2120. 1795.96 s [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap
  2121. 1795.96 s [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap
  2122. 1795.96 s [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap
  2123. 1795.96 s [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap
  2124. 1795.96 s [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap
  2125. 1795.96 s [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap
  2126. 1795.96 s [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap
  2127. 1795.96 s [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose
  2128. 1795.96 s [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose
  2129. 1795.96 s [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap
  2130. 1795.96 s [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap
  2131. 1795.96 s [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap
  2132. 1795.96 s [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap
  2133. 1795.96 s [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap
  2134. 1795.96 s [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap
  2135. 1795.96 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  2136. 1795.96 s [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect
  2137. 1795.96 s [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect)
  2138. 1795.96 s [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect
  2139. 1795.96 s [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect)
  2140. 1797.54 s [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap
  2141. 1797.54 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  2142. 1797.54 s [algebraic-graphs]
  2143. 1797.54 s [algebraic-graphs] ============ AdjacencyMap.foldg ============
  2144. 1797.54 s [algebraic-graphs] OK: foldg empty vertex overlay connect == id
  2145. 1797.54 s [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose
  2146. 1797.54 s [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size
  2147. 1797.54 s [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty
  2148. 1797.54 s [algebraic-graphs]
  2149. 1797.54 s [algebraic-graphs] ============ AdjacencyMap.isEmpty ============
  2150. 1797.55 s [algebraic-graphs] OK: isEmpty empty == True
  2151. 1797.55 s [algebraic-graphs] OK: isEmpty (overlay empty empty) == True
  2152. 1797.55 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  2153. 1797.55 s [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
  2154. 1797.55 s [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False
  2155. 1797.55 s [algebraic-graphs]
  2156. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.hasVertex ============
  2157. 1797.55 s [algebraic-graphs] OK: hasVertex x empty == False
  2158. 1797.55 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  2159. 1797.55 s [algebraic-graphs] OK: hasVertex x . removeVertex x == const False
  2160. 1797.55 s [algebraic-graphs]
  2161. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.hasEdge ============
  2162. 1797.55 s [algebraic-graphs] OK: hasEdge x y empty == False
  2163. 1797.55 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  2164. 1797.55 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  2165. 1797.55 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  2166. 1797.55 s [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
  2167. 1797.55 s [algebraic-graphs]
  2168. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.vertexCount ============
  2169. 1797.55 s [algebraic-graphs] OK: vertexCount empty == 0
  2170. 1797.55 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  2171. 1797.55 s [algebraic-graphs] OK: vertexCount == length . vertexList
  2172. 1797.55 s [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
  2173. 1797.55 s [algebraic-graphs]
  2174. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.edgeCount ============
  2175. 1797.55 s [algebraic-graphs] OK: edgeCount empty == 0
  2176. 1797.55 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  2177. 1797.55 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  2178. 1797.55 s [algebraic-graphs] OK: edgeCount == length . edgeList
  2179. 1797.55 s [algebraic-graphs]
  2180. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.vertexList ============
  2181. 1797.55 s [algebraic-graphs] OK: vertexList empty == []
  2182. 1797.55 s [algebraic-graphs] OK: vertexList (vertex x) == [x]
  2183. 1797.55 s [algebraic-graphs] OK: vertexList . vertices == nub . sort
  2184. 1797.55 s [algebraic-graphs]
  2185. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.vertexSet ============
  2186. 1797.55 s [algebraic-graphs] OK: vertexSet empty == Set.empty
  2187. 1797.55 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  2188. 1797.55 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  2189. 1797.55 s [algebraic-graphs]
  2190. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.vertexIntSet ============
  2191. 1797.55 s [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty
  2192. 1797.55 s [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton
  2193. 1797.55 s [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList
  2194. 1797.55 s [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList
  2195. 1797.55 s [algebraic-graphs]
  2196. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.edgeList ============
  2197. 1797.55 s [algebraic-graphs] OK: edgeList empty == []
  2198. 1797.55 s [algebraic-graphs] OK: edgeList (vertex x) == []
  2199. 1797.55 s [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
  2200. 1797.55 s [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
  2201. 1797.55 s [algebraic-graphs] OK: edgeList . edges == nub . sort
  2202. 1797.55 s [algebraic-graphs]
  2203. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.edgeSet ============
  2204. 1797.55 s [algebraic-graphs] OK: edgeSet empty == Set.empty
  2205. 1797.55 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  2206. 1797.55 s [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
  2207. 1797.55 s [algebraic-graphs] OK: edgeSet . edges == Set.fromList
  2208. 1797.55 s [algebraic-graphs]
  2209. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.adjacencyList ============
  2210. 1797.55 s [algebraic-graphs] OK: adjacencyList empty == []
  2211. 1797.55 s [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
  2212. 1797.55 s [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])]
  2213. 1797.55 s [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])]
  2214. 1797.55 s [algebraic-graphs]
  2215. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.preSet ============
  2216. 1797.55 s [algebraic-graphs] OK: preSet x empty == Set.empty
  2217. 1797.55 s [algebraic-graphs] OK: preSet x (vertex x) == Set.empty
  2218. 1797.55 s [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty
  2219. 1797.55 s [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x]
  2220. 1797.55 s [algebraic-graphs]
  2221. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.preIntSet ============
  2222. 1797.55 s [algebraic-graphs] OK: preIntSet x empty == IntSet.empty
  2223. 1797.55 s [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty
  2224. 1797.55 s [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty
  2225. 1797.55 s [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x]
  2226. 1797.55 s [algebraic-graphs]
  2227. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.postSet ============
  2228. 1797.55 s [algebraic-graphs] OK: postSet x empty == Set.empty
  2229. 1797.55 s [algebraic-graphs] OK: postSet x (vertex x) == Set.empty
  2230. 1797.55 s [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y]
  2231. 1797.55 s [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty
  2232. 1797.55 s [algebraic-graphs]
  2233. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.postIntSet ============
  2234. 1797.55 s [algebraic-graphs] OK: postIntSet x empty == IntSet.empty
  2235. 1797.55 s [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty
  2236. 1797.55 s [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty
  2237. 1797.55 s [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y]
  2238. 1797.55 s [algebraic-graphs]
  2239. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.path ============
  2240. 1797.55 s [algebraic-graphs] OK: path [] == empty
  2241. 1797.55 s [algebraic-graphs] OK: path [x] == vertex x
  2242. 1797.55 s [algebraic-graphs] OK: path [x,y] == edge x y
  2243. 1797.55 s [algebraic-graphs]
  2244. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.circuit ============
  2245. 1797.55 s [algebraic-graphs] OK: circuit [] == empty
  2246. 1797.55 s [algebraic-graphs] OK: circuit [x] == edge x x
  2247. 1797.55 s [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
  2248. 1797.55 s [algebraic-graphs]
  2249. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.clique ============
  2250. 1797.55 s [algebraic-graphs] OK: clique [] == empty
  2251. 1797.55 s [algebraic-graphs] OK: clique [x] == vertex x
  2252. 1797.55 s [algebraic-graphs] OK: clique [x,y] == edge x y
  2253. 1797.55 s [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
  2254. 1797.55 s [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
  2255. 1797.55 s [algebraic-graphs]
  2256. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.biclique ============
  2257. 1797.55 s [algebraic-graphs] OK: biclique [] [] == empty
  2258. 1797.55 s [algebraic-graphs] OK: biclique [x] [] == vertex x
  2259. 1797.55 s [algebraic-graphs] OK: biclique [] [y] == vertex y
  2260. 1797.55 s [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  2261. 1797.55 s [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
  2262. 1797.55 s [algebraic-graphs]
  2263. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.star ============
  2264. 1797.55 s [algebraic-graphs] OK: star x [] == vertex x
  2265. 1797.55 s [algebraic-graphs] OK: star x [y] == edge x y
  2266. 1797.55 s [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
  2267. 1797.55 s [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
  2268. 1797.55 s [algebraic-graphs]
  2269. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.stars ============
  2270. 1797.55 s [algebraic-graphs] OK: stars [] == empty
  2271. 1797.55 s [algebraic-graphs] OK: stars [(x, [])] == vertex x
  2272. 1797.55 s [algebraic-graphs] OK: stars [(x, [y])] == edge x y
  2273. 1797.55 s [algebraic-graphs] OK: stars [(x, ys)] == star x ys
  2274. 1797.55 s [algebraic-graphs] OK: stars == overlays . map (uncurry star)
  2275. 1797.55 s [algebraic-graphs] OK: stars . adjacencyList == id
  2276. 1797.55 s [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
  2277. 1797.55 s [algebraic-graphs]
  2278. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.tree ============
  2279. 1797.55 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  2280. 1797.55 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
  2281. 1797.55 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  2282. 1797.55 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
  2283. 1797.55 s [algebraic-graphs]
  2284. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.forest ============
  2285. 1797.55 s [algebraic-graphs] OK: forest [] == empty
  2286. 1797.55 s [algebraic-graphs] OK: forest [x] == tree x
  2287. 1797.55 s [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
  2288. 1797.55 s [algebraic-graphs] OK: forest == overlays . map tree
  2289. 1797.55 s [algebraic-graphs]
  2290. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.removeVertex ============
  2291. 1797.55 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  2292. 1797.55 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  2293. 1797.55 s [algebraic-graphs] OK: removeVertex x (edge x x) == empty
  2294. 1797.55 s [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
  2295. 1797.55 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  2296. 1797.55 s [algebraic-graphs]
  2297. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.removeEdge ============
  2298. 1797.55 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
  2299. 1797.55 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  2300. 1797.55 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  2301. 1797.55 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  2302. 1797.55 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  2303. 1797.55 s [algebraic-graphs]
  2304. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.replaceVertex ============
  2305. 1797.55 s [algebraic-graphs] OK: replaceVertex x x == id
  2306. 1797.55 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  2307. 1797.55 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  2308. 1797.55 s [algebraic-graphs]
  2309. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.mergeVertices ============
  2310. 1797.55 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  2311. 1797.55 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  2312. 1797.55 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  2313. 1797.55 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  2314. 1797.55 s [algebraic-graphs]
  2315. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.transpose ============
  2316. 1797.55 s [algebraic-graphs] OK: transpose empty == empty
  2317. 1797.55 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  2318. 1797.55 s [algebraic-graphs] OK: transpose (edge x y) == edge y x
  2319. 1797.55 s [algebraic-graphs] OK: transpose . transpose == id
  2320. 1797.55 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  2321. 1797.55 s [algebraic-graphs]
  2322. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.gmap ============
  2323. 1797.55 s [algebraic-graphs] OK: gmap f empty == empty
  2324. 1797.55 s [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
  2325. 1797.55 s [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
  2326. 1797.55 s [algebraic-graphs] OK: gmap id == id
  2327. 1797.55 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  2328. 1797.55 s [algebraic-graphs]
  2329. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.induce ============
  2330. 1797.55 s [algebraic-graphs] OK: induce (const True ) x == x
  2331. 1797.55 s [algebraic-graphs] OK: induce (const False) x == empty
  2332. 1797.55 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  2333. 1797.55 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  2334. 1797.55 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  2335. 1797.55 s [algebraic-graphs]
  2336. 1797.55 s [algebraic-graphs] ============ AdjacencyMap.compose ============
  2337. 1797.55 s [algebraic-graphs] OK: compose empty x == empty
  2338. 1797.55 s [algebraic-graphs] OK: compose x empty == empty
  2339. 1797.55 s [algebraic-graphs] OK: compose (vertex x) y == empty
  2340. 1797.55 s [algebraic-graphs] OK: compose x (vertex y) == empty
  2341. 1797.55 s [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z
  2342. 1797.55 s [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z)
  2343. 1799.39 s [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z)
  2344. 1799.39 s [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z
  2345. 1799.48 s [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)]
  2346. 1799.48 s [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4]
  2347. 1799.48 s [algebraic-graphs]
  2348. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.closure ============
  2349. 1799.48 s [algebraic-graphs] OK: closure empty == empty
  2350. 1799.48 s [algebraic-graphs] OK: closure (vertex x) == edge x x
  2351. 1799.48 s [algebraic-graphs] OK: closure (edge x x) == edge x x
  2352. 1799.48 s [algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)]
  2353. 1799.48 s [algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs)
  2354. 1799.48 s [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
  2355. 1799.48 s [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
  2356. 1799.48 s [algebraic-graphs] OK: closure . closure == closure
  2357. 1799.48 s [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
  2358. 1799.48 s [algebraic-graphs]
  2359. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.reflexiveClosure ============
  2360. 1799.48 s [algebraic-graphs] OK: reflexiveClosure empty == empty
  2361. 1799.48 s [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x
  2362. 1799.48 s [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x
  2363. 1799.48 s [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)]
  2364. 1799.48 s [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
  2365. 1799.48 s [algebraic-graphs]
  2366. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.symmetricClosure ============
  2367. 1799.48 s [algebraic-graphs] OK: symmetricClosure empty == empty
  2368. 1799.48 s [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
  2369. 1799.48 s [algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)]
  2370. 1799.48 s [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
  2371. 1799.48 s [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
  2372. 1799.48 s [algebraic-graphs]
  2373. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.transitiveClosure ============
  2374. 1799.48 s [algebraic-graphs] OK: transitiveClosure empty == empty
  2375. 1799.48 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  2376. 1799.48 s [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y
  2377. 1799.48 s [algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs)
  2378. 1799.48 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  2379. 1799.48 s [algebraic-graphs]
  2380. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.box ============
  2381. 1799.48 s [algebraic-graphs] OK: box x y ~~ box y x
  2382. 1799.48 s [algebraic-graphs] OK: box x (overlay y z) == overlay (box x y) (box x z)
  2383. 1799.48 s [algebraic-graphs] OK: box x (vertex ()) ~~ x
  2384. 1799.48 s [algebraic-graphs] OK: box x empty ~~ empty
  2385. 1799.48 s [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z
  2386. 1799.48 s [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y)
  2387. 1799.48 s [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y
  2388. 1799.48 s [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y
  2389. 1799.48 s [algebraic-graphs]
  2390. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.bfsForest ============
  2391. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0] == empty
  2392. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [1] == edge 1 2
  2393. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2] == vertex 2
  2394. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [0,1,2] == vertices [1,2]
  2395. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 2) [2,1,0] == vertices [1,2]
  2396. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (edge 1 1) [1] == vertex 1
  2397. 1799.48 s [algebraic-graphs] OK: isSubgraphOf (forest $ bfsForest x vs) x == True
  2398. 1799.48 s [algebraic-graphs] OK: bfsForest x (vertexList x) == map ( -> Node v []) (nub $ vertexList x)
  2399. 1799.48 s [algebraic-graphs] OK: bfsForest x [] == []
  2400. 1799.48 s [algebraic-graphs] OK: bfsForest empty vs == []
  2401. 1799.48 s [algebraic-graphs] OK: bfsForest (3 * (1 + 4) * (1 + 5)) [1,4] == <correct result>
  2402. 1799.48 s [algebraic-graphs] OK: forest $ bfsForest (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1] + path [3,4,5]
  2403. 1799.48 s [algebraic-graphs]
  2404. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.bfs ============
  2405. 1799.48 s [algebraic-graphs] OK: bfs (edge 1 2) [0] == []
  2406. 1799.48 s [algebraic-graphs] OK: bfs (edge 1 2) [1] == [[1], [2]]
  2407. 1799.48 s [algebraic-graphs] OK: bfs (edge 1 2) [2] == [[2]]
  2408. 1799.48 s [algebraic-graphs] OK: bfs (edge 1 2) [1,2] == [[1,2]]
  2409. 1799.48 s [algebraic-graphs] OK: bfs (edge 1 2) [2,1] == [[2,1]]
  2410. 1799.48 s [algebraic-graphs] OK: bfs (edge 1 1) [1] == [[1]]
  2411. 1799.48 s [algebraic-graphs] OK: bfs empty vs == []
  2412. 1799.48 s [algebraic-graphs] OK: bfs x [] == []
  2413. 1799.48 s [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,2] == [[1,2]]
  2414. 1799.48 s [algebraic-graphs] OK: bfs (1 * 2 + 3 * 4 + 5 * 6) [1,3] == [[1,3], [2,4]]
  2415. 1799.48 s [algebraic-graphs] OK: bfs (3 * (1 + 4) * (1 + 5)) [3] == [[3], [1,4,5]]
  2416. 1799.48 s [algebraic-graphs] OK: bfs (circuit [1..5] + circuit [5,4..1]) [2] == [[2], [1,3], [5,4]]
  2417. 1799.48 s [algebraic-graphs] OK: concat $ bfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,4,1,5]
  2418. 1799.48 s [algebraic-graphs] OK: map concat . transpose . map levels . bfsForest x == bfs x
  2419. 1799.48 s [algebraic-graphs]
  2420. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.dfsForest ============
  2421. 1799.48 s [algebraic-graphs] OK: forest $ dfsForest empty == empty
  2422. 1799.48 s [algebraic-graphs] OK: forest $ dfsForest (edge 1 1) == vertex 1
  2423. 1799.48 s [algebraic-graphs] OK: forest $ dfsForest (edge 1 2) == edge 1 2
  2424. 1799.48 s [algebraic-graphs] OK: forest $ dfsForest (edge 2 1) == vertices [1,2]
  2425. 1799.48 s [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest x) x == True
  2426. 1799.48 s [algebraic-graphs] OK: isDfsForestOf (dfsForest x) x == True
  2427. 1799.48 s [algebraic-graphs] OK: dfsForest . forest . dfsForest == dfsForest
  2428. 1799.48 s [algebraic-graphs] OK: dfsForest (vertices vs) == map (\v -> Node v []) (nub $ sort vs)
  2429. 1799.48 s [algebraic-graphs] OK: dfsForest $ 3 * (1 + 4) * (1 + 5) == <correct result>
  2430. 1799.48 s [algebraic-graphs] OK: forest (dfsForest $ circuit [1..5] + circuit [5,4..1]) == path [1,2,3,4,5]
  2431. 1799.48 s [algebraic-graphs]
  2432. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.dfsForestFrom ============
  2433. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom empty vs == empty
  2434. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 1) [1] == vertex 1
  2435. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [0] == empty
  2436. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1] == edge 1 2
  2437. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2] == vertex 2
  2438. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [1,2] == edge 1 2
  2439. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (edge 1 2) [2,1] == vertices [1,2]
  2440. 1799.48 s [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom x vs) x == True
  2441. 1799.48 s [algebraic-graphs] OK: isDfsForestOf (dfsForestFrom x (vertexList x)) x == True
  2442. 1799.48 s [algebraic-graphs] OK: dfsForestFrom x (vertexList x) == dfsForest x
  2443. 1799.48 s [algebraic-graphs] OK: dfsForestFrom x [] == []
  2444. 1799.48 s [algebraic-graphs] OK: dfsForestFrom (3 * (1 + 4) * (1 + 5)) [1,4] == <correct result>
  2445. 1799.48 s [algebraic-graphs] OK: forest $ dfsForestFrom (circuit [1..5] + circuit [5,4..1]) [3] == path [3,2,1,5,4]
  2446. 1799.48 s [algebraic-graphs]
  2447. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.dfs ============
  2448. 1799.48 s [algebraic-graphs] OK: dfs empty vs == []
  2449. 1799.48 s [algebraic-graphs] OK: dfs (edge 1 1) [1] == [1]
  2450. 1799.48 s [algebraic-graphs] OK: dfs (edge 1 2) [0] == []
  2451. 1799.48 s [algebraic-graphs] OK: dfs (edge 1 2) [1] == [1,2]
  2452. 1799.48 s [algebraic-graphs] OK: dfs (edge 1 2) [2] == [2]
  2453. 1799.48 s [algebraic-graphs] OK: dfs (edge 1 2) [1,2] == [1,2]
  2454. 1799.48 s [algebraic-graphs] OK: dfs (edge 1 2) [2,1] == [2,1]
  2455. 1799.48 s [algebraic-graphs] OK: dfs x [] == []
  2456. 1799.48 s [algebraic-graphs]
  2457. 1799.48 s [algebraic-graphs] OK: and [ hasVertex v x | v <- dfs x vs ] == True
  2458. 1799.48 s [algebraic-graphs] OK: dfs (3 * (1 + 4) * (1 + 5)) [1,4] == [1,5,4]
  2459. 1799.48 s [algebraic-graphs] OK: dfs (circuit [1..5] + circuit [5,4..1]) [3] == [3,2,1,5,4]
  2460. 1799.48 s [algebraic-graphs]
  2461. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.dfs ============
  2462. 1799.48 s [algebraic-graphs] OK: reachable empty x == []
  2463. 1799.48 s [algebraic-graphs] OK: reachable (vertex 1) 1 == [1]
  2464. 1799.48 s [algebraic-graphs] OK: reachable (edge 1 1) 1 == [1]
  2465. 1799.48 s [algebraic-graphs] OK: reachable (edge 1 2) 0 == []
  2466. 1799.48 s [algebraic-graphs] OK: reachable (edge 1 2) 1 == [1,2]
  2467. 1799.48 s [algebraic-graphs] OK: reachable (edge 1 2) 2 == [2]
  2468. 1799.48 s [algebraic-graphs] OK: reachable (path [1..8] ) 4 == [4..8]
  2469. 1799.48 s [algebraic-graphs] OK: reachable (circuit [1..8] ) 4 == [4..8] ++ [1..3]
  2470. 1799.48 s [algebraic-graphs] OK: reachable (clique [8,7..1]) 8 == [8] ++ [1..7]
  2471. 1799.48 s [algebraic-graphs]
  2472. 1799.48 s [algebraic-graphs] OK: and [ hasVertex v x | v <- reachable x y ] == True
  2473. 1799.48 s [algebraic-graphs]
  2474. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.topSort ============
  2475. 1799.48 s [algebraic-graphs] OK: topSort (1 * 2 + 3 * 1) == Right [3,1,2]
  2476. 1799.48 s [algebraic-graphs] OK: topSort (path [1..5]) == Right [1..5]
  2477. 1799.48 s [algebraic-graphs] OK: topSort (3 * (1 * 4 + 2 * 5)) == Right [3,1,2,4,5]
  2478. 1799.48 s [algebraic-graphs] OK: topSort (1 * 2 + 2 * 1) == Left (2 :| [1])
  2479. 1799.48 s [algebraic-graphs] OK: topSort (path [5,4..1] + edge 2 4) == Left (4 :| [3,2])
  2480. 1799.48 s [algebraic-graphs] OK: topSort (circuit [1..5]) == Left (3 :| [1,2])
  2481. 1799.48 s [algebraic-graphs] OK: topSort (circuit [1..3] + circuit [3,2,1]) == Left (3 :| [2])
  2482. 1799.48 s [algebraic-graphs] OK: topSort (1 * 2 + (5 + 2) * 1 + 3 * 4 * 3) == Left (1 :| [2])
  2483. 1799.48 s [algebraic-graphs] OK: fmap (flip isTopSortOf x) (topSort x) /= Right False
  2484. 1799.48 s [algebraic-graphs] OK: topSort . vertices == Right . nub . sort
  2485. 1799.48 s [algebraic-graphs]
  2486. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.testIsAcyclic ============
  2487. 1799.48 s [algebraic-graphs] OK: isAcyclic (1 * 2 + 3 * 1) == True
  2488. 1799.48 s [algebraic-graphs] OK: isAcyclic (1 * 2 + 2 * 1) == False
  2489. 1799.48 s [algebraic-graphs] OK: isAcyclic . circuit == null
  2490. 1799.48 s [algebraic-graphs] OK: isAcyclic == isRight . topSort
  2491. 1799.48 s [algebraic-graphs]
  2492. 1799.48 s [algebraic-graphs] ============ AdjacencyMap.isDfsForestOf ============
  2493. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [] empty == True
  2494. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [] (vertex 1) == False
  2495. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 1) == True
  2496. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (vertex 2) == False
  2497. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [Node 1 [], Node 1 []] (vertex 1) == False
  2498. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 1) == True
  2499. 1799.49 s [algebraic-graphs] OK: isDfsForestOf [Node 1 []] (edge 1 2) == False
  2500. 1800.03 s interrupted by the user