packages feed

sexp-grammar 2.3.3 → 2.3.3.1

raw patch · 6 files changed

+41/−12 lines, 6 filesdep ~basedep ~bytestringdep ~semigroupsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, bytestring, semigroups, text, utf8-string

API changes (from Hackage documentation)

Files

sexp-grammar.cabal view
@@ -1,5 +1,5 @@ name:                sexp-grammar-version:             2.3.3+version:             2.3.3.1 license:             BSD3 license-file:        LICENSE author:              Yevhen Smolanka, Sergey Vinokurov@@ -63,6 +63,7 @@   build-depends:       QuickCheck     , base+    , bytestring     , containers     , invertible-grammar     , prettyprinter@@ -73,7 +74,6 @@     , tasty-hunit     , tasty-quickcheck     , text-    , utf8-string   main-is:           Main.hs   hs-source-dirs:    test   default-language:  Haskell2010
src/Language/Sexp/Encode.hs view
@@ -14,12 +14,11 @@ import qualified Data.Text.Lazy as TL import qualified Data.Text.Lazy.Encoding as TL (encodeUtf8) import Data.ByteString.Lazy.Char8 (ByteString)-#if !MIN_VERSION_bytestring(0,11,0)-import Data.ByteString.Lazy.Builder.ASCII-#else+#if MIN_VERSION_bytestring(0,11,0) import Data.ByteString.Builder+#else+import Data.ByteString.Lazy.Builder.ASCII #endif-  #if !MIN_VERSION_base(4,11,0) import Data.Semigroup
src/Language/Sexp/Pretty.hs view
@@ -1,6 +1,7 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE CPP               #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase        #-}+{-# LANGUAGE OverloadedStrings #-}  {-# OPTIONS_GHC -fno-warn-orphans #-} @@ -13,9 +14,16 @@ import Data.Scientific import qualified Data.Text.Lazy as TL import Data.Text.Lazy.Encoding (encodeUtf8)++#if MIN_VERSION_prettyprinter(1,7,0)+import Prettyprinter+import Prettyprinter.Internal (unsafeTextWithoutNewlines)+import qualified Prettyprinter.Render.Text as Render+#else import Data.Text.Prettyprint.Doc import Data.Text.Prettyprint.Doc.Internal (unsafeTextWithoutNewlines) import qualified Data.Text.Prettyprint.Doc.Render.Text as Render+#endif  import Language.Sexp.Types import Language.Sexp.Token (escape)
src/Language/Sexp/Token.hs view
@@ -15,7 +15,12 @@ #endif import Data.Text (Text) import qualified Data.Text.Lazy as TL++#if MIN_VERSION_prettyprinter(1,7,0)+import Prettyprinter+#else import Data.Text.Prettyprint.Doc+#endif  import Language.Sexp.Types (Prefix(..)) 
src/Language/Sexp/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP                 #-} {-# LANGUAGE DeriveFoldable      #-} {-# LANGUAGE DeriveFunctor       #-} {-# LANGUAGE DeriveGeneric       #-}@@ -30,7 +31,11 @@ import Data.Functor.Foldable (cata) import Data.Scientific (Scientific) import Data.Text (Text)+#if !MIN_VERSION_prettyprinter(1,7,0) import Data.Text.Prettyprint.Doc (Pretty (..), colon)+#else+import Prettyprinter (Pretty (..), colon)+#endif import GHC.Generics  ----------------------------------------------------------------------@@ -65,6 +70,9 @@ instance (Eq p) => Eq1 (LocatedBy p) where   liftEq eq (p :< a) (q :< b) = p == q && a `eq` b +instance NFData p => NFData1 (LocatedBy p) where+  liftRnf f (p :< a) = rnf p `seq` f a+ location :: LocatedBy a e -> a location (a :< _) = a @@ -129,5 +137,7 @@     BraceListF as -> liftRnf f as     ModifiedF q a -> rnf q `seq` f a +#if !MIN_VERSION_deepseq(1,4,3) instance NFData1 (Compose (LocatedBy Position) SexpF) where-  liftRnf f = liftRnf f . extract . getCompose+  liftRnf f (Compose (p :< a)) = rnf p `seq` liftRnf f a+#endif
test/Main.hs view
@@ -23,13 +23,20 @@ #endif  import Control.Category-import Data.ByteString.Lazy.UTF8 (fromString)+import qualified Data.ByteString.Lazy.Char8 as B8 import Data.Char import Data.Scientific import Data.Semigroup import qualified Data.Set as S import qualified Data.Text as TS+import Data.Text.Encoding (encodeUtf8)++#if MIN_VERSION_prettyprinter(1,7,0)+import Prettyprinter (Pretty, pretty)+#else import Data.Text.Prettyprint.Doc (Pretty, pretty)+#endif+ import GHC.Generics import Test.QuickCheck () import Test.Tasty@@ -47,8 +54,8 @@  import Debug.Trace -parseSexp' :: String -> Either String Sexp-parseSexp' input = Sexp.decode (fromString input)+parseSexp' :: TS.Text -> Either String Sexp+parseSexp' input = Sexp.decode (B8.fromStrict (encodeUtf8 input))  instance Arbitrary Atom where   arbitrary = oneof