One of the slides explains the main features of the language:
* Pattern-matching: Predicates and functions are defined with pattern-matching rules
* Intuitive: Assignments, loops, list comprehensions
* Constraints: CP, SAT and LP/MIP
* Actors: Action rules, event-driven programming, actor-based concurrency
* Tabling: Memoization, dynamic programming, planning, model-checking
Now you know why it is called picat...
I think this website could make a better job on "selling" Picat to potential users. Some suggestions for the author of the site, in case he reads HN:
* Do not put the sources behind a wall (Google Form), that only decreases the chance someone will try your language.
* Let people know how you license the project more visibly , may be in the footer of your site.
* Use syntax highlighting to improve the readability of the code examples.
* If possible, get a designer to help you with the aesthetics. If the source of Picat's site was hosted somewhere it would make it easier to fix it by a volunteer.
We are pleased to announce the release of Picat version 1.0.
Picat (http://picat-lang.org) is a new programming language that
integrates logic programming, functional programming,
dynamic programming with tabling, constraint programming,
and scripting. Picat incorporates many language features for
better productivity of software development, including
pattern-matching rules, explicit non-determinism, explicit
unification, functions, constraints, and tabling. It is not
rare to find problems for which Picat requires an order of
magnitude fewer lines of code than many other languages.
Since the first release in Februrary 2014, Picat has been
growing steadily, and many users have had very positive
experiences with the language: Hakan Kjellerstrand's Picat
page (http://www.hakank.org/picat) has about 775 programs
written by Hakan; the page http://picat-lang.org/projects.html has
a collection of over one hundred programs for a variety of
projects and competitions; as part of the VK Cup, the site
http://codeforces.com featured Picat in a surprise round of a
competition, and more than 500 teams competed.
Picat's tabled planner has been shown to be an efficient
tool for modeling and solving planning problems. Roman
Bartak, Agostino Dovier, and Neng-Fa Zhou have hand-coded
several models in Picat for the IPC competition problems
(http://picat-lang.org/ipc14). These declarative models exploit
Picat's features by using structural state representations
and common-sense domain knowledge. These Picat models
significantly outperform PDDL encodings run by the best PDDL
planners. Sergii Dymchenko has also demonstrated the promise
of Picat's planner through several AI planning problems,
including problems from the Google Code Jam competition
One of the major additions made since version 0.1 is an
optimizing SAT compiler, which translates high-level
constraints into efficient CNF codes to be solved by a SAT
solver. The SAT compiler is offered as a separate module,
which has the same interface as the CP module. The SAT
module is complementary to the CP module, and, for many
problems, significantly outperforms the CP module. The SAT
compiler has been tested by using hundreds of benchmarks and
tens of thousands of instances that have been used in CSP
and Minizinc competitions.
Another major addition in version 1.0 is an external
language interface with C, through which Picat programs can
call deterministic predicates that are written as functions
in C. This interface can be used to link Picat with other
systems, such as database, GUI programming, mobile
computing, game programming, networking, and web programming
Since the release of version 0.1 about one year ago,
hundreds of improvements have been incorporated into the
design and the implementation. The updates log can be seen
at: http://picat-lang.org/updates.html. Picat will continue to
grow, and we look forward to your input and feedback. Send
your questions, comments, and requests to: