]> git.immae.eu Git - github/fretlink/text-pipes.git/commitdiff
wibble examples
authormichaelt <what_is_it_to_do_anything@yahoo.com>
Mon, 4 May 2015 01:38:59 +0000 (21:38 -0400)
committermichaelt <what_is_it_to_do_anything@yahoo.com>
Mon, 4 May 2015 01:38:59 +0000 (21:38 -0400)
Pipes/Text.hs
examples/lines_url.hs

index 7a10f1e0064ccda53218e25c6c4f0002168fc24f..e41689c4846953661a053ed2f88491118337d157 100644 (file)
@@ -790,4 +790,4 @@ intercalate p0 = go0
 -}
 
 
-type Lens' a b =  Functor f => (b -> f b) -> (a -> f a)
+type Lens' a b =  forall f . Functor f => (b -> f b) -> (a -> f a)
index b6766566277897cdce7a5736895b542e916e29f4..ebc04e5354e0cc86007d5398812732eeb2f9f23d 100644 (file)
@@ -23,15 +23,17 @@ main = do
                 -- "http://www.gutenberg.org/files/10/10-h/10-h.htm"
   withManager tlsManagerSettings $ \m ->
     withHTTP req m $ \resp ->  void $ runEffect $ 
-         number_lines_of (responseBody resp ^. utf8 . lines) >-> toHandle IO.stdout
+      number_lines_of (responseBody resp ^. utf8 . lines) >-> toHandle IO.stdout
 
-number_lines_of :: Monad m => FreeT (Producer Text m) m bad -> Producer Text m bad 
+number_lines_of :: Monad m => FreeT (Producer Text m) m r -> Producer Text m r
 number_lines_of  = number_loop (1 :: Int) where
-  number_loop n freeProducers = do
-        freeProducer <- lift $ runFreeT freeProducers
-        case freeProducer of
-          Pure badbytes -> do yield $ T.pack "\n"
-                              return badbytes -- these could be inspected ... 
-          Free p -> do yield $ T.pack ("\n" ++ show n ++ "  ") 
-                       nextFreeProducers <- p
-                       number_loop (n+1) nextFreeProducers
+  number_loop n free = do
+    fproducer <- lift $ runFreeT free
+    case fproducer of
+      Pure badbytes -> do 
+        yield $ T.pack "\n"
+        return badbytes -- these could be inspected ... 
+      Free p -> do 
+        yield $ T.pack ("\n" ++ show n ++ "  ") 
+        next_free <- p
+        number_loop (n+1) next_free