报告题目：The Picat Language and System
报告人：Neng-Fa Zhou 教授
Neng-Fa Zhou is a professor of Computer and Information Science at Brooklyn College and Graduate Center of the City University of New York.Neng-Fa Zhou has been an active researcher in programming language systems for more than 25 years. He has authored over forty papers on programming languages, constraint-solving, graphics, and machine learning systems published in journals (TPLP, ACM TOPLAS, JLP, JFLP, and SPE) and major conferences. His papers on the compilation of logic programs, constraint solving, and tabling have received many citations. He is the principal designer and implementer of the B-Prolog and Picat systems, which are widely used in both academia and industry. The Picat system, in particular, has attracted tremendous attention in the logic programming community and beyond. He has won prizes in several competitions, including CSP, ASP, and MiniZinc Challenge. He has served on the program committees of several leading conferences, recently, including ICLP, AAAI, IJCAI, and ECAI, and was an invited speaker at ICLP'14. He co-authored with Hakan Kjellerstrand and Jonathan Fruhman a book titled Constraint Solving and Planning with Picat, which was published by Springer in 2015.
Picat (picat-lang.org) is a new logic-based multi-paradigm programming language that integrates logic programming, functional programming, dynamic programming with tabling, and scripting. The support of explicit unification, explicit non-determinism, tabling, and constraints makes Picat more suitable than functional (such as Haskell and F#) andscripting languages (such as Python and Ruby) for symbolic computations. Picat provides facilities for solving combinatorial search problems, including solver modules that are based on CP (constraint programming), SAT (propositional satisfiability), and MIP (mixed integer programming), and a module for planning that is implemented by the use of tabling. This talk will give an overview of the Picat language and the underlying techniques used in the Picat system.