```haskell -- check invariants valid :: Text -> Bool ``` For strict text it would check that array is big enough to have offset+length, and that the slice is valid utf8. For lazy text it would check the above, and chunk invariants. These functions would be very useful (in writing tests) when one tinkers with internals. (Either in `text` itself, or other packages). There are `strictInvariant` and `lazyVariant` for lazy text, but they `error`. Not entirely, but almost useless in tests.
Activity
Bodigrim commentedon Jan 9, 2022
I'd prefer
isValid, but otherwise I'm in favor of this.phadej commentedon Jan 9, 2022
validis inspired by the name incontainers. Whatever works.Also: https://hackage.haskell.org/package/perhaps-0/docs/Data-Perhaps.html is one nice way to combine error messages with
Bool. (That would be great, but not worth dependency, just FYI).