hedn 0.1.8.2 → 0.1.9.0
raw patch · 4 files changed
+24/−13 lines, 4 filesdep +hspec-contribdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: hspec-contrib
Dependency ranges changed: base
API changes (from Hackage documentation)
- Data.EDN.Types.Class: instance (Data.EDN.Types.Class.ToEDN a, Data.EDN.Types.Class.ToEDN b) => Data.EDN.Types.Class.ToEDN (Data.Map.Base.Map a b)
- Data.EDN.Types.Class: instance (GHC.Classes.Ord a, Data.EDN.Types.Class.FromEDN a) => Data.EDN.Types.Class.FromEDN (Data.Set.Base.Set a)
- Data.EDN.Types.Class: instance (GHC.Classes.Ord a, Data.EDN.Types.Class.FromEDN a, Data.EDN.Types.Class.FromEDN b) => Data.EDN.Types.Class.FromEDN (Data.Map.Base.Map a b)
- Data.EDN.Types.Class: instance (GHC.Classes.Ord a, Data.EDN.Types.Class.ToEDN a) => Data.EDN.Types.Class.ToEDN (Data.Set.Base.Set a)
- Data.EDN.Types.Class: instance Data.EDN.Types.Class.FromEDN Data.Time.Clock.UTC.UTCTime
- Data.EDN.Types.Class: instance Data.EDN.Types.Class.ToEDN Data.Time.Clock.UTC.UTCTime
+ Data.EDN.Types.Class: instance (Data.EDN.Types.Class.ToEDN a, Data.EDN.Types.Class.ToEDN b) => Data.EDN.Types.Class.ToEDN (Data.Map.Internal.Map a b)
+ Data.EDN.Types.Class: instance (GHC.Classes.Ord a, Data.EDN.Types.Class.FromEDN a) => Data.EDN.Types.Class.FromEDN (Data.Set.Internal.Set a)
+ Data.EDN.Types.Class: instance (GHC.Classes.Ord a, Data.EDN.Types.Class.FromEDN a, Data.EDN.Types.Class.FromEDN b) => Data.EDN.Types.Class.FromEDN (Data.Map.Internal.Map a b)
+ Data.EDN.Types.Class: instance (GHC.Classes.Ord a, Data.EDN.Types.Class.ToEDN a) => Data.EDN.Types.Class.ToEDN (Data.Set.Internal.Set a)
+ Data.EDN.Types.Class: instance Data.EDN.Types.Class.FromEDN Data.Time.Clock.Internal.UTCTime.UTCTime
+ Data.EDN.Types.Class: instance Data.EDN.Types.Class.ToEDN Data.Time.Clock.Internal.UTCTime.UTCTime
- Data.EDN: class FromEDN a where parseEDN = parseEDNv . stripTag parseEDNv = parseEDN . notag
+ Data.EDN: class FromEDN a
- Data.EDN: class ToEDN a where toEDN = notag . toEDNv toEDNv = stripTag . toEDN
+ Data.EDN: class ToEDN a
- Data.EDN.Types.Class: class FromEDN a where parseEDN = parseEDNv . stripTag parseEDNv = parseEDN . notag
+ Data.EDN.Types.Class: class FromEDN a
- Data.EDN.Types.Class: class ToEDN a where toEDN = notag . toEDNv toEDNv = stripTag . toEDN
+ Data.EDN.Types.Class: class ToEDN a
Files
- CHANGELOG.md +7/−1
- hedn.cabal +9/−4
- src/Data/EDN/Parser.hs +7/−7
- tests/Main.hs +1/−1
CHANGELOG.md view
@@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [0.1.9.0] - 2018-04-05++### Fixed++- `<` and `>` are valid for symbols and keywords.+ ## [0.1.8.2] - 2016-05-14 ### Changed@@ -25,7 +31,7 @@ - Use utf8-string parsing for unicode literals. +[0.1.9.0]: https://bitbucket.org/dpwiz/hedn/commits/tag/0.1.9.0 [0.1.8.2]: https://bitbucket.org/dpwiz/hedn/commits/tag/0.1.8.2 [0.1.8.1]: https://bitbucket.org/dpwiz/hedn/commits/tag/0.1.8.1 [0.1.8.0]: https://bitbucket.org/dpwiz/hedn/commits/tag/0.1.8.0-
hedn.cabal view
@@ -1,5 +1,5 @@ name: hedn-version: 0.1.8.2+version: 0.1.9.0 synopsis: EDN parsing and encoding homepage: https://bitbucket.org/dpwiz/hedn license: BSD3@@ -41,7 +41,7 @@ hs-source-dirs: src/ build-depends:- base >=4.5 && <4.10,+ base >=4.5 && <5, base-compat >=0.6.0, attoparsec, text,@@ -56,14 +56,19 @@ time, time-locale-compat - ghc-options: -O2 -Wall -fno-warn-unused-do-bind+ ghc-options: -Wall -fno-warn-unused-do-bind Test-Suite tests type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: tests/+ other-modules:+ Data.EDN.Test.QuickCheck+ Data.EDN.Test.QuickCheck.TH+ Data.EDN.Test.Unit+ build-depends: base, hedn, bytestring, text, containers, vector, template-haskell, time,- QuickCheck >= 2.5.1, hspec >= 1.5.1, HUnit >= 1.2.5+ QuickCheck >= 2.5.1, hspec >= 1.5.1, HUnit >= 1.2.5, hspec-contrib ghc-options: -Wall source-repository head
src/Data/EDN/Parser.hs view
@@ -128,27 +128,27 @@ parseSymbol :: Parser Value parseSymbol = do skipSoC- c <- satisfy (inClass "a-zA-Z.*/!?$%&=+_-")+ c <- satisfy (inClass "a-zA-Z.*/<>!?$%&=+_-") (ns, val) <- withNS c <|> withoutNS c return $! Symbol ns val where withNS c = do- ns <- takeWhile (inClass "a-zA-Z0-9#:.*!?$%&=+_-")+ ns <- takeWhile (inClass "a-zA-Z0-9#:.*<>!?$%&=+_-") char '/'- vc <- satisfy (inClass "a-zA-Z.*/!?$%&=+_-")- val <- takeWhile1 (inClass "a-zA-Z0-9#:.*!?$%&=+_-")+ vc <- satisfy (inClass "a-zA-Z.*/<>!?$%&=+_-")+ val <- takeWhile1 (inClass "a-zA-Z0-9#:.*<>!?$%&=+_-") return (c `BS.cons` ns, vc `BS.cons` val) withoutNS c = do- val <- takeWhile (inClass "a-zA-Z0-9#:.*!?$%&=+_-")+ val <- takeWhile (inClass "a-zA-Z0-9#:.*<>!?$%&=+_-") return ("", c `BS.cons` val) parseKeyword :: Parser Value parseKeyword = do skipSoC char ':'- c <- satisfy (inClass "a-zA-Z.*/!?$%&=+_-")- x <- takeWhile (inClass "a-zA-Z0-9#:.*/!?$%&=+_-")+ c <- satisfy (inClass "a-zA-Z.*/<>!?$%&=+_-")+ x <- takeWhile (inClass "a-zA-Z0-9#:.*/<>!?$%&=+_-") return $! Keyword (c `BS.cons` x) parseNumber :: Parser Value
tests/Main.hs view
@@ -1,5 +1,5 @@ module Main where-import Test.Hspec.HUnit (fromHUnitTest)+import Test.Hspec.Contrib.HUnit (fromHUnitTest) import Test.Hspec.Runner (hspec) import Data.EDN.Test.QuickCheck (ednSerializationProperties)