Picat: A Logic-based Multi-paradigm Language (2014) [pdf]
logicprogramming.org44 points by b-man 5 days ago
44 points by b-man 5 days ago
Picat the language is pretty cute but the really impressive part of Picat to me is their CP solver.
It's one of the best in recent years, despite using just eager compilation to SAT rather than lazy clause generation or another fancy hybrid technique.
It went against the grain by using encodings with smaller size that have poor propagation properties (like encoding numbers into binary with adder circuits) but then threw all sorts of compiler tech at the problem to optimize the circuits as much as possible.
It paid off it sure seems like.
Interesting post about Picat:
Planner programming blows my mind
https://www.hillelwayne.com/post/picat/
> Picat is a research language intended to combine logic programming, imperative programming, and constraint solving. I originally learned it to help with vacation scheduling but soon discovered its planner module, which is one of the most fascinating programming models I’ve ever seen. ...
Too sad the WebIDE link on https://picat-lang.org/ doesn't work, I would have been happy to try it with minimal fuss. It seems to be a very nice langage for niche but important use cases.
The language runtime is very small (6.5MB binary, 4MB library, examples, docs) on Windows.