@@ -44,15 +44,15 @@ main = hspec $ do
4444 ((toList $ (((return 0 <|> return 1) <|> return 2) <|> return 3)) >>= return . sort) `shouldReturn` ([0, 1, 2, 3] :: [Int])
4545 it "Alternative composition - right associated" $
4646 ((toList $ (return 0 <|> (return 1 <|> (return 2 <|> return 3)))) >>= return . sort) `shouldReturn` ([0, 1, 2, 3] :: [Int])
47− it "Alternative composition - hierarchical" $
48− ((toList $ (((return 0 <|> return 1) <|> (return 2 <|> return 3))
49− <|> ((return 4 <|> return 5) <|> (return 6 <|> return 7)))
50− ) >>= return . sort) `shouldReturn` ([0..7] :: [Int])
5147 it "Alternative composition (right fold) with bind" $
5248 (toList (for [1..10 :: Int] $ \x -> return x >>= return . id) >>= return . sort) `shouldReturn` ([1..10] :: [Int])
5349 it "Alternative composition (left fold) with bind" $
5450 let forL xs f = foldl (<|>) empty $ map f xs
5551 in (toList (forL [1..10 :: Int] $ \x -> return x >>= return . id) >>= return . sort) `shouldReturn` ([1..10] :: [Int])
52+ it "Alternative composition - hierarchical" $
53+ ((toList $ (((return 0 <|> return 1) <|> (return 2 <|> return 3))
54+ <|> ((return 4 <|> return 5) <|> (return 6 <|> return 7)))
55+ ) >>= return . sort) `shouldReturn` ([0..7] :: [Int])
5656 {-
5757 it "Alternative composition of async and sync tasks" $
5858 ((wait (threads 0 ((async (return 0) <|> return 1)))) >>= return . sort)