English
Related papers

Related papers: Picat Through the Lens of Advent of Code

200 papers

In this paper we present several examples of solving algorithmic problems from the Google Code Jam programming contest with Picat programming language using declarative techniques: constraint logic programming and tabled logic programming.…

Programming Languages · Computer Science 2015-06-17 Sergii Dymchenko , Mariia Mykhailova

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…

Programming Languages · Computer Science 2014-05-13 Neng-Fa Zhou

Many constraint satisfaction problems involve synthesizing subgraphs that satisfy certain reachability constraints. This paper presents programs in Picat for four problems selected from the recent LP/CP programming competitions. The…

Artificial Intelligence · Computer Science 2021-09-20 Neng-Fa Zhou

Advent of Code (AoC from now on) is a popular coding challenge requiring to solve programming puzzles for a variety of skill sets and levels. AoC follows the advent calendar, therefore it is an annual challenge that lasts for 25 days. AoC…

Social and Information Networks · Computer Science 2024-12-04 Francesco Cauteruccio , Enrico Corradini , Luca Virgili

Tabling has been used for some time to improve efficiency of Prolog programs by memorizing answered queries. The same idea can be naturally used to memorize visited states during search for planning. In this paper we present a planner…

Artificial Intelligence · Computer Science 2014-05-13 Roman Barták , Neng-Fa Zhou

Python is a multi-paradigm programming language that fully supports object-oriented (OO) programming. The language allows writing code in a non-procedural imperative manner, using procedures, using classes, or in a functional style. To…

Software Engineering · Computer Science 2022-09-07 Robert Dyer , Jigyasa Chauhan

Answer Set Programming (ASP) is an increasingly popular framework for declarative programming that admits the description of problems by means of rules and constraints that form a disjunctive logic program. In particular, many AI problems…

Computational Complexity · Computer Science 2014-03-07 Johannes Klaus Fichte , Stefan Szeider

Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several…

Programming Languages · Computer Science 2012-04-02 Guido Salvaneschi , Carlo Ghezzi , Matteo Pradella

We propose Apricot as an object-oriented language for modeling hybrid systems. The language combines the features in domain specific language and object-oriented language, that fills the gap between design and implementation, as a result,…

Software Engineering · Computer Science 2013-04-25 Huixing Fang , Huibiao Zhu , Jianqi Shi

Oz is a multiparadigm language that supports logic programming as one of its major paradigms. A multiparadigm language is designed to support different programming paradigms (logic, functional, constraint, object-oriented, sequential,…

Programming Languages · Computer Science 2007-05-23 Peter Van Roy , Per Brand , Denys Duchier , Seif Haridi , Martin Henz , Christian Schulte

Previous efforts on reconfigurable analog circuits mostly focused on specialized analog circuits, produced through careful co-design, or on highly reconfigurable, but relatively resource inefficient, accelerators that implement analog…

Programming Languages · Computer Science 2023-10-11 Yu-Neng Wang , Glenn Cowan , Ulrich Rührmair , Sara Achour

Answer-set programming (ASP) paradigm is a way of using logic to solve search problems. Given a search problem, to solve it one designs a theory in the logic so that models of this theory represent problem solutions. To compute a solution…

Logic in Computer Science · Computer Science 2007-05-23 Deborah East , Miroslaw Truszczynski

With the future likely to see even more pervasive computation, computational thinking (problem-solving skills incorporating computing knowledge) is now being recognized as a fundamental skill needed by all students. Computational thinking…

Programming Languages · Computer Science 2017-06-13 Hasan M. Jamil

Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging. This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is…

Software Engineering · Computer Science 2007-05-23 Gyongyi Szilagyi , Tibor Gyimothy , Jan Maluszynski

To solve hard problems, AI relies on a variety of disciplines such as logic, probabilistic reasoning, machine learning and mathematical programming. Although it is widely accepted that solving real-world problems requires an integration…

Artificial Intelligence · Computer Science 2020-01-14 Vaishak Belle , Luc De Raedt

Novice programmers often struggle with problem solving due to the high cognitive loads they face. Furthermore, many introductory programming courses do not explicitly teach it, assuming that problem solving skills are acquired along the…

Computers and Society · Computer Science 2022-01-19 Oka Kurniawan , Cyrille Jégourel , Norman Tiong Seng Lee , Matthieu De Mari , Christopher M. Poskitt

We present a new approach to enhancing Answer Set Programming (ASP) with Constraint Processing techniques which allows for solving interesting Constraint Satisfaction Problems in ASP. We show how constraints on finite domains can be…

Logic in Computer Science · Computer Science 2010-07-26 Christian Drescher , Toby Walsh

Prompt programming treats large language model prompts as software components with typed interfaces. Based on a literature survey of 15 recent works from 2023 to 2025, we observe a consistent trend: type systems are central to emerging…

Programming Languages · Computer Science 2025-08-19 Abhijit Paul

Dedicated tensor accelerators demonstrate the importance of linear algebra in modern applications. Such accelerators have the potential for impressive performance gains, but require programmers to rewrite code using vendor APIs - a barrier…

A recursive descent parser is built from a set of mutually-recursive functions, where each function directly implements one of the nonterminals of a grammar. A packrat parser uses memoization to reduce the time complexity for recursive…

Programming Languages · Computer Science 2020-07-08 Luke A. D. Hutchison
‹ Prev 1 2 3 10 Next ›