@@ -52,7 +52,7 @@ module Data.Aeson.Types.Internal
5252import Control.Applicative
5353import Control.Monad
5454import Control.DeepSeq (NFData(..))
55−import Data.ByteString.Builder (Builder, char7)
55+import Data.ByteString.Builder (Builder, char7, toLazyByteString)
5656import Data.Char (toLower, isUpper)
5757import Data.Scientific (Scientific)
5858import Data.Hashable (Hashable(..))
@@ -209,6 +209,16 @@ newtype Encoding = Encoding {
209209 fromEncoding :: Builder
210210 } deriving (Monoid)
211211
212+instance Show Encoding where
213+ show (Encoding e) = show (toLazyByteString e)
214+
215+instance Eq Encoding where
216+ Encoding a == Encoding b = toLazyByteString a == toLazyByteString b
217+
218+instance Ord Encoding where
219+ compare (Encoding a) (Encoding b) =
220+ compare (toLazyByteString a) (toLazyByteString b)
221+
212222-- | A series of values that, when encoded, should be separated by commas.
213223data Series = Empty
214224 | Value Encoding