spacechar 0.0.0.5 → 0.0.0.6
raw patch · 3 files changed
+62/−90 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Char.Space: CarriageReturn_ :: IsoLatin1
- Data.Char.Space: FormFeed_ :: IsoLatin1
- Data.Char.Space: HorizontalTab_ :: IsoLatin1
- Data.Char.Space: LineFeed_ :: IsoLatin1
- Data.Char.Space: Whitespace_ :: IsoLatin1
- Data.Char.Space: instance Data.Char.Space.AsCarriageReturn GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsEmQuad GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsEmSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsEnQuad GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsEnSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsFigureSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsFormFeed GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsFourPerEmSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsHairSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsHorizontalTab GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsIdeographicSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsLineFeed GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsMediumMathematicalSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsNarrowNoBreakSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsNoBreakSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsOghamSpaceMark GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsPunctuationSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsSixPerEmSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsThinSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsThreePerEmSpace GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsVerticalTab GHC.Integer.Type.Integer
- Data.Char.Space: instance Data.Char.Space.AsWhitespace GHC.Integer.Type.Integer
+ Data.Char.Space: IsoLatin1SpaceChar :: IsoLatin1 -> SpaceChar
+ Data.Char.Space: instance Data.Char.Space.AsCarriageReturn GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsEmQuad GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsEmSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsEnQuad GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsEnSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsFigureSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsFormFeed GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsFourPerEmSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsHairSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsHorizontalTab GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsIdeographicSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsIsoLatin1 Data.Char.Space.SpaceChar
+ Data.Char.Space: instance Data.Char.Space.AsLineFeed GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsMediumMathematicalSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsNarrowNoBreakSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsNoBreakSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsOghamSpaceMark GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsPunctuationSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsSixPerEmSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsThinSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsThreePerEmSpace GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsVerticalTab GHC.Num.Integer.Integer
+ Data.Char.Space: instance Data.Char.Space.AsWhitespace GHC.Num.Integer.Integer
- Data.Char.Space: CarriageReturn :: SpaceChar
+ Data.Char.Space: CarriageReturn :: IsoLatin1
- Data.Char.Space: FormFeed :: SpaceChar
+ Data.Char.Space: FormFeed :: IsoLatin1
- Data.Char.Space: HorizontalTab :: SpaceChar
+ Data.Char.Space: HorizontalTab :: IsoLatin1
- Data.Char.Space: LineFeed :: SpaceChar
+ Data.Char.Space: LineFeed :: IsoLatin1
- Data.Char.Space: Whitespace :: SpaceChar
+ Data.Char.Space: Whitespace :: IsoLatin1
Files
- changelog.md +4/−0
- spacechar.cabal +2/−2
- src/Data/Char/Space.hs +56/−88
changelog.md view
@@ -1,3 +1,7 @@+0.0.0.6++* Fix IsoLatin1+ 0.0.0.5 * Remove unit data types.
spacechar.cabal view
@@ -1,5 +1,5 @@ name: spacechar-version: 0.0.0.5+version: 0.0.0.6 synopsis: Space Character description: All the space characters as types license: BSD3@@ -13,7 +13,7 @@ cabal-version: >=1.10 homepage: https://gitlab.com/tonymorris/spacechar bug-reports: https://gitlab.com/tonymorris/spacechar/issues-tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5+tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5, GHC == 9.0.2 source-repository head type: git
src/Data/Char/Space.hs view
@@ -82,14 +82,14 @@ , parseIsoLatin1 ) where -import Control.Category ( Category(id) )-import Control.Lens ( Prism', prism', (#), Lens' )+import Control.Category ( Category(id, (.)) )+import Control.Lens ( Prism', prism', (#), preview, review, Lens' ) import Data.Bool ( Bool ) import Data.Char ( Char ) import Data.Eq ( Eq((==)) ) import Data.Int ( Int ) import Data.Foldable ( asum )-import Data.Functor ( Functor((<$)) )+import Data.Functor ( Functor((<$)), (<$>) ) import Data.Maybe ( Maybe(Nothing, Just) ) import Data.Ord ( Ord ) import GHC.Generics ( Generic )@@ -1177,12 +1177,8 @@ satisfy' (== '\12288') <?> "ideographic space character" data SpaceChar =- HorizontalTab- | LineFeed+ IsoLatin1SpaceChar IsoLatin1 | VerticalTab- | FormFeed- | CarriageReturn- | Whitespace | NoBreakSpace | OghamSpaceMark | EnQuad@@ -1217,18 +1213,10 @@ _SpaceChar = prism' (\case- HorizontalTab ->- '\9'- LineFeed ->- '\10'+ IsoLatin1SpaceChar c ->+ review _IsoLatin1 c VerticalTab -> '\11'- FormFeed ->- '\12'- CarriageReturn ->- '\13'- Whitespace ->- '\32' NoBreakSpace -> '\160' OghamSpaceMark ->@@ -1264,17 +1252,17 @@ ) (\case '\9' ->- Just HorizontalTab+ Just (IsoLatin1SpaceChar HorizontalTab) '\10' ->- Just LineFeed+ Just (IsoLatin1SpaceChar LineFeed) '\11' -> Just VerticalTab '\12' ->- Just FormFeed+ Just (IsoLatin1SpaceChar FormFeed) '\13' ->- Just CarriageReturn+ Just (IsoLatin1SpaceChar CarriageReturn) '\32' ->- Just Whitespace+ Just (IsoLatin1SpaceChar Whitespace) '\160' -> Just NoBreakSpace '\5760' ->@@ -1307,8 +1295,8 @@ Just MediumMathematicalSpace '\12288' -> Just IdeographicSpace- _ ->- Nothing+ c ->+ IsoLatin1SpaceChar <$> preview _IsoLatin1 c ) parseSpaceChar ::@@ -1316,12 +1304,8 @@ p SpaceChar parseSpaceChar = asum [- HorizontalTab <$ parseHorizontalTab- , LineFeed <$ parseLineFeed+ IsoLatin1SpaceChar <$> parseIsoLatin1 , VerticalTab <$ parseVerticalTab- , FormFeed <$ parseFormFeed- , CarriageReturn <$ parseCarriageReturn- , Whitespace <$ parseWhitespace , NoBreakSpace <$ parseNoBreakSpace , OghamSpaceMark <$ parseOghamSpaceMark , EnQuad <$ parseEnQuad@@ -1340,23 +1324,22 @@ , IdeographicSpace <$ parseIdeographicSpace ] -instance AsHorizontalTab SpaceChar where- _HorizontalTab =+instance AsIsoLatin1 SpaceChar where+ _IsoLatin1 = prism'- (\() -> HorizontalTab)+ IsoLatin1SpaceChar (\case- HorizontalTab -> Just ()+ IsoLatin1SpaceChar x -> Just x _ -> Nothing ) +instance AsHorizontalTab SpaceChar where+ _HorizontalTab =+ _IsoLatin1 . _HorizontalTab+ instance AsLineFeed SpaceChar where _LineFeed =- prism'- (\() -> LineFeed)- (\case- LineFeed -> Just ()- _ -> Nothing- )+ _IsoLatin1 . _LineFeed instance AsVerticalTab SpaceChar where _VerticalTab =@@ -1369,30 +1352,15 @@ instance AsFormFeed SpaceChar where _FormFeed =- prism'- (\() -> FormFeed)- (\case- FormFeed -> Just ()- _ -> Nothing- )+ _IsoLatin1 . _FormFeed instance AsCarriageReturn SpaceChar where _CarriageReturn =- prism'- (\() -> CarriageReturn)- (\case- CarriageReturn -> Just ()- _ -> Nothing- )+ _IsoLatin1 . _CarriageReturn instance AsWhitespace SpaceChar where _Whitespace =- prism'- (\() -> Whitespace)- (\case- Whitespace -> Just ()- _ -> Nothing- )+ _IsoLatin1 . _Whitespace instance AsNoBreakSpace SpaceChar where _NoBreakSpace =@@ -1539,11 +1507,11 @@ ) data IsoLatin1 =- HorizontalTab_- | LineFeed_- | FormFeed_- | CarriageReturn_- | Whitespace_+ HorizontalTab+ | LineFeed+ | FormFeed+ | CarriageReturn+ | Whitespace deriving (Eq, Ord, Show, Generic) class HasIsoLatin1 a where@@ -1559,28 +1527,28 @@ _IsoLatin1 = prism' (\case- HorizontalTab_ ->+ HorizontalTab -> '\9'- LineFeed_ ->+ LineFeed -> '\10'- FormFeed_ ->+ FormFeed -> '\12'- CarriageReturn_ ->+ CarriageReturn -> '\13'- Whitespace_ ->+ Whitespace -> '\32' ) (\case '\9' ->- Just HorizontalTab_+ Just HorizontalTab '\10' ->- Just LineFeed_+ Just LineFeed '\12' ->- Just FormFeed_+ Just FormFeed '\13' ->- Just CarriageReturn_+ Just CarriageReturn '\32' ->- Just Whitespace_+ Just Whitespace _ -> Nothing )@@ -1593,55 +1561,55 @@ p IsoLatin1 parseIsoLatin1 = asum [- HorizontalTab_ <$ parseHorizontalTab- , LineFeed_ <$ parseLineFeed- , FormFeed_ <$ parseFormFeed- , CarriageReturn_ <$ parseCarriageReturn- , Whitespace_ <$ parseWhitespace+ HorizontalTab <$ parseHorizontalTab+ , LineFeed <$ parseLineFeed+ , FormFeed <$ parseFormFeed+ , CarriageReturn <$ parseCarriageReturn+ , Whitespace <$ parseWhitespace ] instance AsHorizontalTab IsoLatin1 where _HorizontalTab = prism'- (\() -> HorizontalTab_)+ (\() -> HorizontalTab) (\case- HorizontalTab_ -> Just ()+ HorizontalTab -> Just () _ -> Nothing ) instance AsLineFeed IsoLatin1 where _LineFeed = prism'- (\() -> LineFeed_)+ (\() -> LineFeed) (\case- LineFeed_ -> Just ()+ LineFeed -> Just () _ -> Nothing ) instance AsFormFeed IsoLatin1 where _FormFeed = prism'- (\() -> FormFeed_)+ (\() -> FormFeed) (\case- FormFeed_ -> Just ()+ FormFeed -> Just () _ -> Nothing ) instance AsCarriageReturn IsoLatin1 where _CarriageReturn = prism'- (\() -> CarriageReturn_)+ (\() -> CarriageReturn) (\case- CarriageReturn_ -> Just ()+ CarriageReturn -> Just () _ -> Nothing ) instance AsWhitespace IsoLatin1 where _Whitespace = prism'- (\() -> Whitespace_)+ (\() -> Whitespace) (\case- Whitespace_ -> Just ()+ Whitespace -> Just () _ -> Nothing )