Hacker News new | ask | show | jobs
by swannodette 5699 days ago
The fact that people write tediously comprehensive imperative unit tests to verify their programs should be a warning sign that the use cases for logic programming may be more much general than you think. A hunch, nothing more. I'm just starting to dig into this stuff.
1 comments

This!

People are itching for declarative testing systems. Writing testing code by hand is tedious and error-prone. Static typing works for a lot of things, but isn't completely satisfactory. Randomized testing is also useful (give a function that tests a property, give random_int -> value generators for its arguments, let it find edge cases), but those are only two facets of a much bigger picture.

I'm really interested in more modern takes on Prolog, but from what I've read about Mercury, it seems to throw out my favorite aspect: computing with partial information. Constraint logic programming seems like a more valuable direction, though I see the appeal in a Prolog-esque language informed by modern type theory, and I'm particularly interested in what it does with linear types.