File tree Expand file tree Collapse file tree 5 files changed +10
-7
lines changed
src/Data/Formatter/Parser Expand file tree Collapse file tree 5 files changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,8 @@ Notable changes to this project are documented in this file. The format is based
66
77Breaking changes:
88
9+ - Upgrade to parsing v7.0.0, replace all ` StringLike ` constraints with ` String ` type (#76 by @jamesdbrock )
10+
911New features:
1012
1113Bugfixes:
Original file line number Diff line number Diff line change 2020 "purescript-fixed-points" : " ^6.0.0" ,
2121 "purescript-lists" : " ^6.0.0" ,
2222 "purescript-numbers" : " ^8.0.0" ,
23- "purescript-parsing" : " ^6 .0.0" ,
23+ "purescript-parsing" : " ^7 .0.0" ,
2424 "purescript-prelude" : " ^5.0.0" ,
2525 "purescript-transformers" : " ^5.0.0"
2626 },
Original file line number Diff line number Diff line change @@ -2,3 +2,4 @@ let upstream =
22 https:// github. com/ purescript/ package- sets/ releases/ download/ psc- 0.14 . 3 - 20210722 / packages. dhall sha256: 1 ceb43aa59436bf5601bac45f6f3781c4e1f0e4c2b8458105b018e5ed8c30f8c
33
44in upstream
5+ with parsing. version = " v7.0.0"
Original file line number Diff line number Diff line change @@ -19,26 +19,26 @@ import Data.Maybe (Maybe(..))
1919import Data.Number (fromString )
2020import Data.Foldable (foldMap )
2121
22- parseInteger ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Int
22+ parseInteger ∷ ∀ m . Monad m ⇒ P.ParserT String m Int
2323parseInteger = some parseDigit <#> foldDigits
2424
25- parseMaybeInteger ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m (Maybe Int )
25+ parseMaybeInteger ∷ ∀ m . Monad m ⇒ P.ParserT String m (Maybe Int )
2626parseMaybeInteger = PC .optionMaybe parseInteger
2727
28- parseFractional ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Number
28+ parseFractional ∷ ∀ m . Monad m ⇒ P.ParserT String m Number
2929parseFractional = do
3030 digitStr <- (some parseDigit) <#> (foldMap show >>> (" 0." <> _))
3131 case fromString digitStr of
3232 Just n -> pure n
3333 Nothing -> P .fail (" Not a number: " <> digitStr)
3434
35- parseNumber ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Number
35+ parseNumber ∷ ∀ m . Monad m ⇒ P.ParserT String m Number
3636parseNumber = (+)
3737 <$> (parseInteger <#> toNumber)
3838 <*> (PC .option 0.0 $ PC .try $ PS .oneOf [' .' , ' ,' ] *> parseFractional)
3939
4040
41- parseDigit ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Int
41+ parseDigit ∷ ∀ m . Monad m ⇒ P.ParserT String m Int
4242parseDigit = PC .try $ PS .char `oneOfAs`
4343 [ Tuple ' 0' 0
4444 , Tuple ' 1' 1
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ import Data.Either (Either)
1717oneOfAs ∷ ∀ c s m f a b . Functor f ⇒ Foldable f ⇒ Monad m ⇒ (a → ParserT s m b ) → f (Tuple a c ) → ParserT s m c
1818oneOfAs p xs = PC .choice $ (\(Tuple s r) → p s $> r) <$> xs
1919
20- runP ∷ ∀ s a . PS.StringLike s ⇒ Parser s a → s → Either String a
20+ runP ∷ ∀ a . Parser String a → String → Either String a
2121runP p s = lmap printError $ runParser s (p <* PS .eof)
2222
2323printError ∷ ParseError → String
You can’t perform that action at this time.
0 commit comments