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.
First, a brief explanation of logic programming (LP). In imperative and functional programming, we take inputs and write algorithms that produce outputs. In LP and constraint solving, we instead provide a set of equations and find assignments that satisfy those relationships.
Logic programming languages are pretty rare nowadays, here is one where the answers (inferred values which satisfy the constrains) represent mutations instead of traditional values.
Oh nice, Picat seems interesting. I’ve been meaning to learn Prolog or some other language in that category, but never got around to it aside from a couple of half-hearted attempts at following some Prolog tutorial or another
Oh nice, Picat seems interesting. I’ve been meaning to learn Prolog or some other language in that category, but never got around to it aside from a couple of half-hearted attempts at following some Prolog tutorial or another