on master help sign in
Use scientific >= 0.3.1
c0afa59Bas van Dijk
Data/Aeson/Encode.hs+2−1
@@ -34,9 +34,10 @@ module Data.Aeson.Encode
34
34
35import Data.Aeson.Types (Value(..))
35import Data.Aeson.Types (Value(..))
36import Data.Monoid (mappend)
36import Data.Monoid (mappend)
37−import Data.Scientific (Scientific, coefficient, base10Exponent, scientificBuilder)
37+import Data.Scientific (Scientific, coefficient, base10Exponent)
38import Data.Text.Lazy.Builder
38import Data.Text.Lazy.Builder
39import Data.Text.Lazy.Builder.Int (decimal)
39import Data.Text.Lazy.Builder.Int (decimal)
40+import Data.Text.Lazy.Builder.Scientific (scientificBuilder)
40import Numeric (showHex)
41import Numeric (showHex)
41import qualified Data.HashMap.Strict as H
42import qualified Data.HashMap.Strict as H
42import qualified Data.Text as T
43import qualified Data.Text as T
Data/Aeson/Encode/ByteString.hs+3−2
@@ -19,11 +19,12 @@ module Data.Aeson.Encode.ByteString
19import Prelude hiding (null)
19import Prelude hiding (null)
20import Data.Aeson.Types (ToJSON(..), Value(..))
20import Data.Aeson.Types (ToJSON(..), Value(..))
21import Data.Char (ord)
21import Data.Char (ord)
22−import Data.Scientific (Scientific, coefficient, base10Exponent, formatScientific, FPFormat(Generic))
22+import Data.Scientific (Scientific, coefficient, base10Exponent)
23import Data.Word (Word8)
23import Data.Word (Word8)
24import Data.Monoid (mappend)
24import Data.Monoid (mappend)
25import Data.ByteString.Builder as B
25import Data.ByteString.Builder as B
26import Data.ByteString.Builder.Prim as BP
26import Data.ByteString.Builder.Prim as BP
27+import Data.ByteString.Builder.Scientific (scientificBuilder)
27import qualified Data.ByteString.Lazy as L
28import qualified Data.ByteString.Lazy as L
28import qualified Data.HashMap.Strict as HMS
29import qualified Data.HashMap.Strict as HMS
29import qualified Data.Text as T
30import qualified Data.Text as T
@@ -95,7 +96,7 @@ string t =
95
96
96number :: Scientific -> Builder
97number :: Scientific -> Builder
97number s
98number s
98− | e < 0 = B.string8 $ formatScientific Generic Nothing s
99+ | e < 0 = scientificBuilder s
99 | otherwise = B.integerDec (coefficient s * 10 ^ e)
100 | otherwise = B.integerDec (coefficient s * 10 ^ e)
100 where
101 where
101 e = base10Exponent s
102 e = base10Exponent s
aeson.cabal+1−1
@@ -119,7 +119,7 @@ library
119 hashable >= 1.1.2.0,
119 hashable >= 1.1.2.0,
120 mtl,
120 mtl,
121 old-locale,
121 old-locale,
122− scientific >= 0.2 && < 0.3,
122+ scientific >= 0.3.1,
123 syb,
123 syb,
124 template-haskell >= 2.4,
124 template-haskell >= 2.4,
125 time,
125 time,