summaryrefslogtreecommitdiff
path: root/compiler/GHC/Utils/Json.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Utils/Json.hs')
-rw-r--r--compiler/GHC/Utils/Json.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/GHC/Utils/Json.hs b/compiler/GHC/Utils/Json.hs
index 21358847c0..65880fe76e 100644
--- a/compiler/GHC/Utils/Json.hs
+++ b/compiler/GHC/Utils/Json.hs
@@ -1,4 +1,6 @@
{-# LANGUAGE GADTs #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
module GHC.Utils.Json where
import GHC.Prelude
@@ -29,7 +31,7 @@ renderJSON d =
JSObject fs -> braces $ pprList renderField fs
where
renderField :: (String, JsonDoc) -> SDoc
- renderField (s, j) = doubleQuotes (text s) <> colon <+> renderJSON j
+ renderField (s, j) = doubleQuotes (text s) <> colon <> renderJSON j
pprList pp xs = hcat (punctuate comma (map pp xs))
@@ -54,3 +56,9 @@ escapeJsonString = concatMap escapeChar
class ToJson a where
json :: a -> JsonDoc
+
+instance ToJson String where
+ json = JSString . escapeJsonString
+
+instance ToJson Int where
+ json = JSInt