I'll warn you that Picat is very much a "research language" and a lot of the affordances you'd expect with a polished PL just aren't there yet. There's also this really great "field notes" repo from another person who learned it: https://github.com/dsagman/picat
The line reorder issue is evergreen and it seems all languages need to either go through this phase and fix it, or gaslight its users forever that it's "not really a problem".
To me, it feels like a data description language that someone discovered could be tricked into performing computation.
Bidirectionality has always been super fascinating.
Didn’t know about Picat. 100% going to check it out.