News for hackers. Stuff that matters.
Re:Parse, Don't Validate (2019) by crabbone on Tuesday March 07, 2023 @02:58PM (#35060355)
Not in this context they don't. They are useless if you want to ensure that a given number is a prime number.
Re:Parse, Don't Validate (2019) by ParetoOptimal on Tuesday March 07, 2023 @07:30PM (#35063518)
> Not in this context they don't.

What context is it exactly where they don't matter?

I can tell you in practice, in the real world, they very much do.

> They are useless if you want to ensure that a given number is a prime number.

It's not useless. The point is that once you have type `PrimeNumber` that can only be constructed after being validated, you then can write functions exist in a reality where only PrimeNumber exists.

Re:Parse, Don't Validate (2019) by ParetoOptimal on Tuesday March 07, 2023 @07:43PM (#35063646)
I wrote an example with prime numbers that you can run in the Haskell playground:

https://play.haskell.org/saved/gRsNcCGo

> They are useless if you want to ensure that a given number is a prime number.

This is wrong. In the example above `addPrimes` will only take prime numbers.

As such if I make a Jira story that says "add multiply/subtract functions using the PrimeNumber type" I'll know that implementation is simplified by only being able to concern itself with prime numbers.