Commit e8a2de66 authored by Andrei Barbu's avatar Andrei Barbu

updates for the latest aeson and ghc exts

parent 709e857c
......@@ -37,10 +37,12 @@ data HoogleResult = SearchResult HoogleResponse
| NoResult String
deriving Show
instance FromJSON [HoogleResponse] where
data HoogleResponseList = HoogleResponseList [HoogleResponse]
instance FromJSON HoogleResponseList where
parseJSON (Object obj) = do
results <- obj .: "results"
mapM parseJSON results
HoogleResponseList <$> mapM parseJSON results
parseJSON _ = fail "Expected object with 'results' field."
......@@ -99,7 +101,7 @@ search string = do
case eitherDecode $ LBS.fromStrict $ CBS.pack json of
Left err -> [NoResult err]
Right results ->
case map SearchResult results of
case map SearchResult $ (\(HoogleResponseList l) -> l) results of
[] -> [NoResult "no matching identifiers found."]
res -> res
......
......@@ -17,11 +17,11 @@ import Data.Monoid
import Data.Maybe (mapMaybe)
import System.IO.Unsafe (unsafePerformIO)
import Language.Haskell.Exts.Annotated.Syntax hiding (Module)
import qualified Language.Haskell.Exts.Annotated.Syntax as SrcExts
import Language.Haskell.Exts.Annotated (parseFileContentsWithMode)
import Language.Haskell.Exts.Annotated.Build (doE)
import Language.Haskell.Exts.Annotated hiding (Module)
import Language.Haskell.Exts.Syntax hiding (Module)
import qualified Language.Haskell.Exts.Syntax as SrcExts
import Language.Haskell.Exts (parseFileContentsWithMode)
import Language.Haskell.Exts.Build (doE)
import Language.Haskell.Exts hiding (Module)
import Language.Haskell.Exts.SrcLoc
import Language.Haskell.HLint as HLint
......@@ -149,7 +149,7 @@ createModule mode (Located line block) =
decl = SpliceDecl loc expr
expr :: Exp SrcSpanInfo
expr = doE loc [stmt, ret]
expr = Do loc [stmt, ret]
stmt :: Stmt SrcSpanInfo
ParseOk stmt = parseStmtWithMode mode stmtStr
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment