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
6
6
7
7
Breaking changes:
8
8
9
+ Upgrade to parsing v7.0.0, replace all ` StringLike ` constraints with ` String ` type (#76 )
10
+
9
11
New features:
10
12
11
13
Bugfixes:
Original file line number Diff line number Diff line change 20
20
"purescript-fixed-points" : " ^6.0.0" ,
21
21
"purescript-lists" : " ^6.0.0" ,
22
22
"purescript-numbers" : " ^8.0.0" ,
23
- "purescript-parsing" : " ^6 .0.0" ,
23
+ "purescript-parsing" : " ^7 .0.0" ,
24
24
"purescript-prelude" : " ^5.0.0" ,
25
25
"purescript-transformers" : " ^5.0.0"
26
26
},
Original file line number Diff line number Diff line change @@ -2,3 +2,4 @@ let upstream =
2
2
https:// github. com/ purescript/ package- sets/ releases/ download/ psc- 0.14 . 3 - 20210722 / packages. dhall sha256: 1 ceb43aa59436bf5601bac45f6f3781c4e1f0e4c2b8458105b018e5ed8c30f8c
3
3
4
4
in 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(..))
19
19
import Data.Number (fromString )
20
20
import Data.Foldable (foldMap )
21
21
22
- parseInteger ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Int
22
+ parseInteger ∷ ∀ m . Monad m ⇒ P.ParserT String m Int
23
23
parseInteger = some parseDigit <#> foldDigits
24
24
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 )
26
26
parseMaybeInteger = PC .optionMaybe parseInteger
27
27
28
- parseFractional ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Number
28
+ parseFractional ∷ ∀ m . Monad m ⇒ P.ParserT String m Number
29
29
parseFractional = do
30
30
digitStr <- (some parseDigit) <#> (foldMap show >>> (" 0." <> _))
31
31
case fromString digitStr of
32
32
Just n -> pure n
33
33
Nothing -> P .fail (" Not a number: " <> digitStr)
34
34
35
- parseNumber ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Number
35
+ parseNumber ∷ ∀ m . Monad m ⇒ P.ParserT String m Number
36
36
parseNumber = (+)
37
37
<$> (parseInteger <#> toNumber)
38
38
<*> (PC .option 0.0 $ PC .try $ PS .oneOf [' .' , ' ,' ] *> parseFractional)
39
39
40
40
41
- parseDigit ∷ ∀ s m . Monad m ⇒ PS.StringLike s ⇒ P.ParserT s m Int
41
+ parseDigit ∷ ∀ m . Monad m ⇒ P.ParserT String m Int
42
42
parseDigit = PC .try $ PS .char `oneOfAs`
43
43
[ Tuple ' 0' 0
44
44
, Tuple ' 1' 1
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ import Data.Either (Either)
17
17
oneOfAs ∷ ∀ 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
18
18
oneOfAs p xs = PC .choice $ (\(Tuple s r) → p s $> r) <$> xs
19
19
20
- runP ∷ ∀ s a . PS.StringLike s ⇒ Parser s a → s → Either String a
20
+ runP ∷ ∀ a . Parser String a → String → Either String a
21
21
runP p s = lmap printError $ runParser s (p <* PS .eof)
22
22
23
23
printError ∷ ParseError → String
You can’t perform that action at this time.
0 commit comments