-
Notifications
You must be signed in to change notification settings - Fork 0
0000 What is Picat language?
Dmitry Ponyatov edited this page Nov 26, 2019
·
4 revisions
Picat
is a multi-paradigm programming language which integrates
- logic programming,
- imperative programming (as the most mainstream languages like Python, Java, and C++),
- functional programming,
- scripting, dynamic programming with tabling, and constraint programming.
Picat
core is underpinned by logic programming concepts, including logic variables, unification, and backtracking. If you ever try to use Prolog
and it makes your brains to be shaken up without practical results, the Picat
language is a great alternative to solve the same task classes with human-friendly syntax and features.
Picat
is not packed with power multitasking, GUI and Web/network libraries, but you can write any applications using code-generative metaprogramming that will be described later. You can do it using only the logical programming language with rich pattern matching (via unification), and base file I/O support.
Next:
- Picat official site: http://picat-lang.org
- discussion on Google groups: https://groups.google.com/forum/#!forum/picat-lang
- A User’s Guide to Picat Version 2.7b12
-
Constraint Solving and Planning with Picat (c) Neng-Fa Zhou, Håkan Kjellerstrand, Jonathan Fruhman
- An Introduction to Tabled Logic Programming with Picat (c) Sergii Dymchenko
- uPicat draft lessons: https://github.com/ponyatov/uPicat/wiki