Mark Karpov
2cad25dd11
Merge pull request #99 from mrkkrp/pos-and-error-reform
...
Position and error reform
2016-04-28 00:10:03 +07:00
mrkkrp
9240896e6b
Update the ‘CHANGELOG.md’ file
2016-04-28 00:07:15 +07:00
mrkkrp
1094408b96
Add ‘pushPosition’ and ‘popPosition’
...
Close #83 .
2016-04-27 00:04:56 +07:00
mrkkrp
8e095bab8c
A correction to ‘getPosition’ and ‘setPosition’
...
Make ‘getPosition’ and ‘setPosition’ work with current file, not with
the whole stack.
2016-04-26 23:01:09 +07:00
mrkkrp
f22cd69ff7
Cosmetic polishing
2016-04-26 00:37:06 +07:00
mrkkrp
13578590da
Adjustments for compatibility
2016-04-25 19:51:13 +07:00
mrkkrp
f576945a4a
Update tests for ‘Text.Megaparsec.Lexer’
2016-04-24 21:56:45 +07:00
mrkkrp
e11066f07a
Update tests for ‘Text.Megaparsec.Expr’
2016-04-24 21:56:45 +07:00
mrkkrp
98b08b752a
Update tests for ‘Text.Megaparsec.Prim’
2016-04-24 21:56:45 +07:00
mrkkrp
643842ac1e
Update tests for ‘Text.Megaparsec.Perm’
2016-04-24 21:56:45 +07:00
mrkkrp
9089ed3325
Update tests for ‘Text.Megaparsec.Combinator’
2016-04-24 21:56:45 +07:00
mrkkrp
6f69306515
Update tests for ‘Text.Megaparsec.Char’
2016-04-24 21:56:45 +07:00
mrkkrp
35dc3a4469
Write tests for the new ‘Text.Megaparsec.Error’
2016-04-24 21:56:40 +07:00
mrkkrp
14b1aeea8a
Write tests for the new ‘Text.Megaparsec.Pos’
2016-04-24 20:21:36 +07:00
mrkkrp
a1df59221b
Update ‘Util’ module in test suite
2016-04-24 20:21:07 +07:00
mrkkrp
be3c1fe987
Derive ‘Read’ instance for ‘Dec’
2016-04-24 20:19:48 +07:00
mrkkrp
495aa1bb87
Add ‘incorrectIndent’, improve indentation errors
...
Close #90 .
2016-04-24 15:09:52 +07:00
mrkkrp
1ba128521f
Make ‘tokens’ use “canonicalized” token streams
...
And introduce the notion in docs of ‘MessageItem’.
2016-04-23 22:31:09 +07:00
mrkkrp
91955013ef
Adjust ‘old-tests’ test suite to new code base
2016-04-22 19:53:36 +07:00
mrkkrp
0879af8103
Add more dependencies to ‘tests’ component
2016-04-22 19:52:55 +07:00
mrkkrp
dd0cf0fe4a
Add one more argument to ‘token’
...
The new argument allows to specify what to report as expected token when
input stream happens to be empty.
2016-04-22 19:51:14 +07:00
mrkkrp
c0c9b836dd
Fix a bug (hints assymetry with ‘<|>’)
2016-04-22 19:48:55 +07:00
mrkkrp
17a6bb2baa
Remove ‘MonadThrow’ instance, add ‘Dec’
...
‘Dec’ stands for “default error component”. We need this because
‘String’ looses information and thus we cannot write good enough tests
with it.
2016-04-22 19:48:34 +07:00
mrkkrp
eedf69761e
Remove redundant constraints from lexer module
2016-04-18 21:52:45 +07:00
mrkkrp
84038a4fab
Export ‘parseErrorPretty’ from ‘Text.Megaparsec’
2016-04-18 20:48:31 +07:00
mrkkrp
f3f0aef44e
Improve docs of ‘Text.Megaparsec.Prim’
2016-04-18 19:49:52 +07:00
mrkkrp
006900e257
Add missing ‘@since’ labels to new functions
2016-04-18 19:49:20 +07:00
mrkkrp
fee19134e8
Improve new version of ‘Text.Megaparsec.Error’
...
Compatibility and documentation improvements.
2016-04-18 19:05:34 +07:00
mrkkrp
641114a442
Improve new version of ‘Text.Megaparsec.Pos’
...
Documentation improvements. The commit also makes it compile with all
supported GHC versions.
2016-04-18 17:59:32 +07:00
mrkkrp
acbae63a21
First attempt to outline Megaparsec 5.0.0
...
This is rather a sketch, we need to work on documentation, tests, and
perhaps on performance, but it should show the direction Megaparsec
5.0.0 is taking.
2016-04-17 20:08:13 +07:00
mrkkrp
a3254f5371
Move language extensions to files
...
This turns out that it's easier for readers to lookup the list of
extensions in current file than go to Cabal file.
2016-04-10 19:26:54 +07:00
mrkkrp
747993e0bb
Add ‘skipBlockCommentNested’ function
...
Close #96 .
2016-03-30 14:50:35 +06:00
mrkkrp
18d192ba70
Use ‘Scientific’ as target type for floats
...
Close #95 .
Here we introduce ‘scientific’ parser that can parse arbitrary big
numbers without error or memory overflow. ‘float’ still returns
‘Double’, but it's defined in terms of ‘scientific’ now. Since
‘Scientific’ type can reliably represent integer values as well as
floating point values, ‘number’ now returns ‘Scientific’ instead of
‘Either Integer Double’ (‘Integer’ or ‘Double’ can be extracted from
‘Scientific’ value anyway). This in turn makes ‘signed’ parser more
natural and general, because we do not need ad-hoc ‘Signed’ type class
anymore.
2016-03-29 16:42:51 +06:00
Mark Karpov
cd7f12963c
Merge pull request #94 from mrkkrp/position-advancing
...
More flexible position-advancing function
2016-03-29 10:39:01 +07:00
mrkkrp
aa805864af
Add simple tests for ‘Text’ and ‘ByteString’
...
These are primitive tests, but nevertheless they check ‘uncons’ and
‘updatePos’ — everything we need.
2016-03-29 09:19:50 +06:00
mrkkrp
00ae88a8e7
Add a test to check that ‘tokens’ never consumes
2016-03-28 22:51:07 +06:00
mrkkrp
0b4abd81ae
Update the ‘CHANGELOG.md’ file
2016-03-28 21:23:23 +06:00
mrkkrp
39b9ffb083
Add “since 5.0.0” to haddocks of new functions
2016-03-28 21:10:00 +06:00
mrkkrp
0f7a2c180c
Improve efficiency of the library
2016-03-28 15:43:03 +06:00
mrkkrp
ac99fc0fac
More flexible position-advancing function
...
This should improve experience of users who use Megaparsec with Alex and
Happy. The commit also introduces some minor changes in
‘Text.Megaparsec.Pos’ module (improving argument order).
2016-03-24 18:12:25 +06:00
recursion-ninja
dccfc82152
Replace ‘String’ with ‘Foldable f => f Char’
...
The commit also deals with GHC 8 warnings about redundant constraints.
2016-03-11 15:52:55 +06:00
mrkkrp
b0124d1ea2
Remove ‘parseFromFile’ and ‘StorableStream’
...
Removed ‘parseFromFile’ and ‘StorableStream’ type-class that was
necessary for it. The reason for removal is that reading from file and
then parsing its contents is trivial for every instance of ‘Stream’ and
this function provides no way to use newer methods for running a parser,
such as ‘runParser'’. So, simply put, it adds little value and was
included in 4.x versions for compatibility purposes.
2016-02-22 19:52:57 +06:00
mrkkrp
750adb7c70
A minor improvement in docs of ‘makeExprParser’
2016-02-20 14:36:15 +06:00
mrkkrp
d086ff92dc
Version bump
2016-02-19 18:28:51 +06:00
mrkkrp
c99c4fa8ed
Merge branch 'improving-coverage'
2016-02-19 17:45:17 +06:00
mrkkrp
30fcbb64ef
Fix the build for older GHCs
2016-02-19 17:01:08 +06:00
mrkkrp
eef1fa7ea9
Further improve coverage
2016-02-19 16:15:32 +06:00
mrkkrp
75512ddde5
Use ‘mzero’ to fail (tests)
2016-02-19 16:04:49 +06:00
mrkkrp
5a68665a90
Change collection of constraints for ‘MonadParsec’
...
Collection of constraints changed from ‘Alternative m, Monad m, Stream s
t’ to ‘MonadPlus m, Stream s t’. This is done to make it easier to write
more abstract code with older GHC where such primitives as ‘guard’ are
defined for instances of ‘MonadPlus’, not ‘Alternative’.
2016-02-19 16:02:52 +06:00
mrkkrp
bfe173ff07
Improve coverage of primitive combinators
2016-02-19 15:16:26 +06:00