Simon Jakobi
Simon Jakobi
By chance I've come across [`headed-megaparsec`](https://hackage.haskell.org/package/headed-megaparsec), which seems to have the purpose of providing better error messages (see https://hackage.haskell.org/package/headed-megaparsec-0.2.0.2/docs/HeadedMegaparsec.html#t:HeadedParsec). I'm wondering whether it might be useful for resolving this issue...
> * Record the whitespace on `Lam` and `Pi` bindings similar to what we do on `Binding`. This will help in the context of #145 > The new constructors would...
> Pattern match checker exceeded (2000000) iterations This looks similar to the issue I recorded here: https://github.com/dhall-lang/dhall-haskell/blob/42b119d245d6fb3c71d1fb184df346f8e3a6df52/dhall/src/Dhall/Syntax.hs#L589-L606 This was fixed in GHC 8.10.
If anyone wants to give that a spin, please don't hesitate to ask questions. The tests seemed fairly robust to me, so it's just a bit fiddly…
This is still WIP, because I haven't figured out how to migrate parts of the code yet, e.g. https://github.com/haskell/lsp/issues/441.
BTW, I was wondering whether it's truly necessary or useful to maintain backwards compatibility with `lsp` and other libraries in `dhall-lsp-server`. After all, I strongly suspect that no-one is using...
Indeed I could simplify this function by hand. However these simplifications would be useful in virtually any case where you want to apply a binary `Integer` arithmetic operation on on...
This looks similar to catch-alls in Haskell's case expressions: ```haskell data Color = Red | Green | Blue isRed :: Color -> Bool isRed color = case color of Red...
@Gabriel439 The "default handler pattern" you describe is already possible today. IMHO it's less convenient than wildcards/catch-alls though, which, in the context of escape hatches for safety checks, is arguably...
What I don't understand so far is what we gain by making it more convenient to opt out of the exhaustiveness check.