gpc icon indicating copy to clipboard operation
gpc copied to clipboard

Leightweight generalized parser combinators

Results 10 gpc issues
Sort by recently updated
recently updated
newest added

We cannot always be 100% sure, but it would be nice to check what we can.

enhancement

If one alternative succeeds and performs an ascend and later another alternative from the same recursion depth finds a loop then the combination of that ascend and loop is missed....

bug

If we ever push an empty continuation to the stack then we will get into an infinite loop. That can happen in cases like this: ```haskell emptyk :: Parser ()...

bug

I think there is a lot of low hanging fruit for optimization of gigaparsec. For example: - [ ] Use `Text` or even `Addr#` instead of `String`. - [ ]...

good first issue
implementation

Apparently it is possible to use data dependent grammars to implement layout parsing relatively easily. But I don't know exactly how that would work.

research

One promising approach is [`data-reify`](https://hackage.haskell.org/package/data-reify) described in [Type Safe Observable Sharing in Haskell](http://ku-fpg.github.io/files/Gill-09-TypeSafeReification.pdf). Unfortunately, this isn't straightforward for gigaparsec because our nonterminals might take arguments as input, such as the...

research

I think it is possible to make the algorithm have O(n^3) worst-case time complexity. This is not a priority for me, because it probably requires O(n^3) space as well and...

research

Gigaparsec is intended to be used without a separate lexer. So for practical parsers there needs to be a mechanism to handle white space. Perhaps we can implement a mechanism...

implementation

Currently, when you write something like `Plus expr