packages feed

sarsi-0.0.4.0: sarsi-hs/Main.hs

{-# LANGUAGE Rank2Types #-}
module Main where

import Codec.GHC.Log (messageParser)
import Codec.Sarsi.GHC (fromGHCLog)
import Data.Attoparsec.Text.Machine (streamParser)
import Data.Machine ((<~), asParts, auto)
import Sarsi.Tools.Shell (mainShell)

main :: IO ()
main = mainShell "haskell" (asParts <~ auto unpack <~ streamParser messageParser)
  where
    unpack (Right msg) = [fromGHCLog msg]
    unpack (Left _)    = []