Canonicalizing High-Level Constructs in Picat
نویسندگان
چکیده
Picat is a logic-based multi-paradigm dynamic language that integrates logic programming, functional programming, constraint programming, and scripting. The Picat language is underpinned by the core logic programming concepts, including logic variables, unification, and nondeterminism. Picat takes many constructs from other languages, among which functions, list and array comprehensions, loops, and assignments are convenient for scripting and modeling. This paper gives an overview of the language features of Picat, and shows how different language constructs are compiled into a canonical form.
منابع مشابه
Picat: A Scalable Logic-based Language and System (Invited talk)
This talk will give the design principles of the Picat language (http://www.picat-lang.org), highlight the high-level and intuitive abstractions provided by Picat for easy programming, and contemplate why Picat is more robust and scalable than Prolog and could be more accessible than Prolog to ordinary programmers for scripting and modeling tasks. 1998 ACM Subject Classification D.1.6 Logic Pro...
متن کاملCompiling and Executing PDDL in Picat
The declarative language Picat has recently entered the scene of constraint logic programming, in particular thanks to the efficiency of its planning library that exploits a clever implementation of tabling, inherithed in part from B-Prolog. Planning benchmarks, used in competitions, are defined in the language PDDL and this implied that Picat users were forced to reimplement those models withi...
متن کاملCombinatorial Search With Picat
Picat, a new member of the logic programming family, follows a different doctrine than Prolog in offering the core logic programming concepts: arrays and maps as built-in data types; implicit pattern matching with explicit unification and explicit non-determinism; functions for deterministic computations; and loops for convenient scripting and modeling purposes. Picat provides facilities for so...
متن کاملOptimization of a Compiler from PDDL to Picat (Short Paper)
Picat is a new constraint logic programming language that has obtained promising results in international competitions. These results have been achieved thanks to several features. The most effective of them is an efficient handling of a tabling technique applied to search algorithms. A compiler from PDDL to Picat, which automatically enables to run PDDL models in Picat, has been recently devel...
متن کاملModeling and Solving the Multi-Agent Pathfinding Problem in Picat
The multi-agent pathfinding (MAPF) problem has attracted considerable attention because of its relation to practical applications. In this paper, we present a constraint-based declarative model for MAPF, together with its implementation in Picat, a logic-based programming language. We show experimentally that our Picat-based implementation is highly competitive and sometimes outperforms previou...
متن کامل