FelooPy

PICAT

PICAT

Logical Scripting & Modeling Language

ByNeng-Fa Zhou
Updated September 30, 2025
modelingscriptinglpipmilpcpsop
100
Popularity
Download ZIP x86_64
ZIP · x86_64

Media

Description

PICAT is a compact, rule-based scripting + modeling language for combinatorial search, constraint programming (CP), satisfiability solving (SAT), mixed-integer programming (MIP), planning, natural language processing (NLP), knowledge engineering, complex data processing, and web services.

It combines pattern-matching rules (predicates: 0..n answers; functions: single answer), imperative conveniences (assignable variables, assignments, foreach/loops and comprehensions), event-driven actors (action rules + channels) and tabling (memoization + term-sharing); the planner uses tabled, resource-bounded search and is often competitive with answer set programming (ASP) and Planning Domain Definition Language (PDDL) planners on benchmarks.

Constraint programming dramatically reduces and scans search spaces for NP/dynamic-programming problems (examples of successful applications: shortest path, knapsack, n-queens, Sudoku) without hand-coding the backtracking/search algorithm, and Picat is a great language for learning and applying these concepts as well as for general-purpose scripting.

Picat’s C sources are distributed under the Mozilla Public License 2.0 (MPL 2.0). Created and maintained by Neng-Fa Zhou (with community contributions and notable support/examples from Hakan Kjellerstrand), development spans May 31, 2013, to August 22, 2025 (~12 years).

Documentation & Resources

Downloads

Windows
picat-lang.org / /download
picat-lang.org / /download · x86_64 · ZIP
Linux
picat-lang.org / /download
picat-lang.org / /download · x86_64 · GZ
Source
picat-lang.org / /download
picat-lang.org / /download · GZ
© 2022–2025 FelooPy | All Rights Reserved.