Bodigrim/smallcheck

Better Char/String instances

UnkindPartition opened this issue · 4 comments

See this reddit thread.

To do this, we need to decide:

  • what kinds of characters we want to generate, and at which rate
  • make newtype wrappers for some common cases? ASCII, Printable, Unicode?
gspia commented

Hi,
Is there new thought are plans with this issue?
I'm having a Text-based test where the current way of generating chars 'a'..'z' is enough. Anyhow, would there be any chances of having Text-instances based on this generating mechanism?

Even though the text-based instance would suffer from the very same problems mentioned above, I think that, as the Text is de-facto standard way to do things, there could be instances for it. And even if not ideal right away, things could be improved given time (hmm, or is there a danger of locking in into wrong lib-ui in case of willing to avoid breaking changes later).

I think that the approach giving wrappers for common cases would be helpful. (Even though I cannot see right away, how that would look / what kind of things it would mean for the users of this lib.)

Is there new thought are plans with this issue?

Not really.

I'm having a Text-based test where the current way of generating chars 'a'..'z' is enough.

In that case, this is probably not the issue you are looking for.

Does https://hackage.haskell.org/package/smallcheck-series-0.6/docs/Test-SmallCheck-Series-Text.html help?

gspia commented

Ah, thank you! I can use that package!

I think that modern QuickCheck-like frameworks with powerful shrinking such as falsify offer a smoother user experience than smallcheck. I'll carry on with life support of smallcheck, but not really interested in changing things. Closing, won't do.