I like the philosophy here. But for tooling (LSP, linters), failing fast isn't enough. We need to recover and report multiple errors.
Do you have plans for recover or sync combinators? Or is this strictly for "valid or nothing" use cases?
2 Comments
Recovering is non-negotiable for dev tools. If my linter stopped at the first missing semicolon, I'd uninstall it.
I'm also curious about streaming support. If zero-copy-parser works on indices/slices, could we adapt it to work over a ReadableStream or AsyncIterable? That way we could parse gigabyte logs without loading them all into memory and recover from bad lines.
Streaming is a beast. Complexity explodes when you lose random access.
For GBs of logs, maybe line-based processing + zero-copy-parser on each line is the middle ground?
Don't optimize for the 1% use case if it makes the 99% usage painful. Ship slices first.