summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/json/files/json-0.9.3-ghc-8.8.patch')
-rw-r--r--dev-haskell/json/files/json-0.9.3-ghc-8.8.patch172
1 files changed, 0 insertions, 172 deletions
diff --git a/dev-haskell/json/files/json-0.9.3-ghc-8.8.patch b/dev-haskell/json/files/json-0.9.3-ghc-8.8.patch
deleted file mode 100644
index d8dc402ae19b..000000000000
--- a/dev-haskell/json/files/json-0.9.3-ghc-8.8.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-commit a0d8bcde5ab5329d11be8cd89c407e6aa0db83a4
-Author: Fumiaki Kinoshita <fumiexcel@gmail.com>
-Date: Tue Apr 30 18:37:40 2019 +0900
-
- Support GHC 8.8
-
-diff --git a/Text/JSON.hs b/Text/JSON.hs
-index f2e2618..6f80949 100644
---- a/Text/JSON.hs
-+++ b/Text/JSON.hs
-@@ -37,7 +37,7 @@ module Text.JSON (
- -- ** Instance helpers
- , makeObj, valFromObj
- , JSKey(..), encJSDict, decJSDict
--
-+
- ) where
-
- import Text.JSON.Types
-@@ -60,7 +60,7 @@ import qualified Data.Text as T
-
- ------------------------------------------------------------------------
-
---- | Decode a String representing a JSON value
-+-- | Decode a String representing a JSON value
- -- (either an object, array, bool, number, null)
- --
- -- This is a superset of JSON, as types other than
-@@ -137,7 +137,9 @@ instance MonadPlus Result where
-
- instance Monad Result where
- return x = Ok x
-+#if !MIN_VERSION_base(4,13,0)
- fail x = Error x
-+#endif
- Ok a >>= f = f a
- Error x >>= _ = Error x
-
-@@ -199,7 +201,7 @@ instance JSON Ordering where
- showJSON = encJSString show
- readJSON = decJSString "Ordering" readOrd
- where
-- readOrd x =
-+ readOrd x =
- case x of
- "LT" -> return Prelude.LT
- "EQ" -> return Prelude.EQ
-@@ -460,7 +462,7 @@ instance JSKey Int where
- instance JSKey String where
- toJSKey = id
- fromJSKey = Just
--
-+
- -- | Encode an association list as 'JSObject' value.
- encJSDict :: (JSKey a, JSON b) => [(a,b)] -> JSValue
- encJSDict v = makeObj [ (toJSKey x, showJSON y) | (x,y) <- v ]
-@@ -477,5 +479,3 @@ decJSDict l (JSObject o) = mapM rd (fromJSObject o)
- "unable to read dict; invalid object key")
-
- decJSDict l _ = mkError ("readJSON{"++l ++ "}: unable to read dict; expected JSON object")
--
--
-diff --git a/Text/JSON/String.hs b/Text/JSON/String.hs
-index 51463cd..67fdca8 100644
---- a/Text/JSON/String.hs
-+++ b/Text/JSON/String.hs
-@@ -1,7 +1,8 @@
-+{-# LANGUAGE CPP #-}
- -- | Basic support for working with JSON values.
-
--module Text.JSON.String
-- (
-+module Text.JSON.String
-+ (
- -- * Parsing
- --
- GetJSON
-@@ -35,6 +36,7 @@ import Text.JSON.Types (JSValue(..),
- JSObject, toJSObject, fromJSObject)
-
- import Control.Monad (liftM, ap)
-+import qualified Control.Monad.Fail as Fail
- import Control.Applicative((<$>))
- import qualified Control.Applicative as A
- import Data.Char (isSpace, isDigit, digitToInt)
-@@ -52,9 +54,14 @@ instance A.Applicative GetJSON where
- pure = return
- (<*>) = ap
-
-+instance Fail.MonadFail GetJSON where
-+ fail x = GetJSON (\_ -> Left x)
-+
- instance Monad GetJSON where
- return x = GetJSON (\s -> Right (x,s))
-- fail x = GetJSON (\_ -> Left x)
-+#if !MIN_VERSION_base(4,13,0)
-+ fail = Fail.fail
-+#endif
- GetJSON m >>= f = GetJSON (\s -> case m s of
- Left err -> Left err
- Right (a,s1) -> un (f a) s1)
-@@ -93,7 +100,7 @@ tryJSNull k = do
- xs <- getInput
- case xs of
- 'n':'u':'l':'l':xs1 -> setInput xs1 >> return JSNull
-- _ -> k
-+ _ -> k
-
- -- | Read the JSON Bool type
- readJSBool :: GetJSON JSValue
-@@ -111,8 +118,8 @@ readJSString = do
- case x of
- '"' : cs -> parse [] cs
- _ -> fail $ "Malformed JSON: expecting string: " ++ context x
-- where
-- parse rs cs =
-+ where
-+ parse rs cs =
- case cs of
- '\\' : c : ds -> esc rs c ds
- '"' : ds -> do setInput ds
-@@ -153,22 +160,22 @@ readJSRational = do
- '-' : ds -> negate <$> pos ds
- _ -> pos cs
-
-- where
-+ where
- pos [] = fail $ "Unable to parse JSON Rational: " ++ context []
- pos (c:cs) =
- case c of
- '0' -> frac 0 cs
-- _
-+ _
- | not (isDigit c) -> fail $ "Unable to parse JSON Rational: " ++ context cs
- | otherwise -> readDigits (digitToIntI c) cs
-
- readDigits acc [] = frac (fromInteger acc) []
- readDigits acc (x:xs)
-- | isDigit x = let acc' = 10*acc + digitToIntI x in
-+ | isDigit x = let acc' = 10*acc + digitToIntI x in
- acc' `seq` readDigits acc' xs
- | otherwise = frac (fromInteger acc) (x:xs)
-
-- frac n ('.' : ds) =
-+ frac n ('.' : ds) =
- case span isDigit ds of
- ([],_) -> setInput ds >> return n
- (as,bs) -> let x = read as :: Integer
-@@ -320,15 +327,15 @@ showJSRational :: Rational -> ShowS
- showJSRational r = showJSRational' False r
-
- showJSRational' :: Bool -> Rational -> ShowS
--showJSRational' asFloat r
-+showJSRational' asFloat r
- | denominator r == 1 = shows $ numerator r
- | isInfinite x || isNaN x = showJSNull
- | asFloat = shows xf
- | otherwise = shows x
-- where
-+ where
- x :: Double
- x = realToFrac r
--
-+
- xf :: Float
- xf = realToFrac r
-
-@@ -382,4 +389,3 @@ encJSString jss ss = go (fromJSString jss)
- | x < '\x1000' -> 'u' : '0' : hexxs
- | otherwise -> 'u' : hexxs
- where hexxs = showHex (fromEnum x) xs
--