{-# LANGUAGE QuasiQuotes, FlexibleContexts #-} module AM3.Regex where import Text.Regex.PCRE.Heavy import Safe import Control.Monad f = readFile "/home/jan/Projects/am3-project/dat/runs/run4/test9.grasp" t = searchCost <$> f q p m = fmap p . m searchCost :: String -> Maybe Int searchCost = (fmap read . headMay . snd <=< headMay) . scan [re|\s*cost: (\d+)|]