Comments (2)
I think this is quite related to #43
What do you think of the solution proposed there? One thing I like about avoiding opaque is that we can generally report what was expected, so you can make clearer suggestions to users (just printing the error won't work well, but you can render them nicely and in context in principle, https://github.com/johnynek/bosatsu does this, but it uses typelevel/paiges to do it, and I have been reluctant to add the dependency in this project).
from cats-parse.
That would definitely improve the situation.
If I'm understanding #43 correctly, it would allow customizing the rendering of the error based on the scope, allowing the reporter to render the whitespace in the errors above as something like "\t\n\u000b\f\r\u001c\u001d\u001e\u001f áá \u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2008\u2009\u200a\u2028\u2029\u205fă"
, which would be much easier to differentiate between the available options.
Attaching an offset to a scope could help clarify one part of the error encoding that's currently a bit unclear: what is the difference between the offset in the parent Error
and the offsets contained in each Expectation
?
from cats-parse.
Related Issues (20)
- docs can give warnings, which causes publish to fail
- orElse not working as expected HOT 3
- Either x or not y HOT 6
- Recursive parser creates infinite loop. HOT 1
- A parser string interpolator
- Backtracking with context HOT 1
- Rep same char as surrounded by HOT 5
- idea for safe repetition on Parser0
- RadixNode and stringIn are a bit slow
- Is it possible to support Scala Native? HOT 6
- alternate design for voiding
- use java.util.BitSet on scalajs
- `p1.? ~ p2` != `(p1 ~ p2) | p2` for error reporting purposes HOT 9
- Remove isScalaJs/isScalaJvm on minor version update
- identifier parser HOT 2
- flakey test: X cats.parse.ParserTest.a.flatMap(b) composes as expected parser00
- add json string parsing
- add a withString combinator
- Should `Parser` have a typeclass? HOT 2
- set up github CI to run benchmarks on release
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ď¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cats-parse.