Skip to content

Instantly share code, notes, and snippets.

@NathanHowell
Created February 18, 2012 08:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NathanHowell/1858260 to your computer and use it in GitHub Desktop.
Save NathanHowell/1858260 to your computer and use it in GitHub Desktop.
import Data.Aeson
import Data.Attoparsec
import qualified Data.Enumerator as E
import qualified Data.Enumerator.Binary as Eb
import qualified Data.Enumerator.List as El
import qualified Data.ByteString as BS
byteLines :: Monad m => E.Enumeratee BS.ByteString BS.ByteString m b
byteLines = Eb.splitWhen (== 10) -- 10 is LF
main :: IO ()
main =
E.run_ $ Eb.enumFile "events40k.json"
E.$= byteLines
E.$= El.map (parse json)
E.$$ El.mapM_ print
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment