English
Related papers

Related papers: Array operators using multiple dispatch: a design …

200 papers

Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable…

Programming Languages · Computer Science 2022-05-17 Michael Hanus

We have implemented an optimization that specializes type-generic array accesses after inlining of polymorphic functions in the native-code OCaml compiler. Polymorphic array operations (read and write) in OCaml require runtime type dispatch…

Programming Languages · Computer Science 2017-02-09 Ryohei Tokuda , Eijiro Sumii , Akinori Abe

Pull-tabbing is an evaluation technique for functional logic programs which computes all non-deterministic results in a single graph structure. Pull-tab steps are local graph transformations to move non-deterministic choices towards the…

Programming Languages · Computer Science 2020-08-28 Michael Hanus , Finn Teegen

This thesis proposes an advanced, generic and high-level code rewriting and analysis system in the Julia programming language, providing applied equality saturation in the presence of multiple dispatch and metaprogramming. We show how our…

Programming Languages · Computer Science 2022-02-08 Alessandro Cheli

This paper proposes a message-passing mechanism to address language modelling. A new layer type is introduced that aims to substitute self-attention for unidirectional sequence generation tasks. The system is shown to be competitive with…

Computation and Language · Computer Science 2021-08-02 Alberto Cetoli

Multi-level languages and Arrows both facilitate metaprogramming, the act of writing a program which generates a program. The arr function required of all Arrows turns arbitrary host language expressions into guest language expressions;…

Programming Languages · Computer Science 2011-04-13 Adam Megacz

The design and implementation of precise static analyzers for significant fragments of modern imperative languages like C, C++, Java and Python is a challenging problem. In this paper, we consider a core imperative language that has several…

Programming Languages · Computer Science 2007-06-28 Roberto Bagnara , Patricia M. Hill , Andrea Pescetti , Enea Zaffanella

Variable sharing is a fundamental property in the static analysis of logic programs, since it is instrumental for ensuring correctness and increasing precision while inferring many useful program properties. Such properties include modes,…

Programming Languages · Computer Science 2025-01-22 Daniel Jurjo-Rivas , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

In object systems, classes take the role of modules, and interfaces consist of methods. Because methods are encapsulated in objects, interfaces in object systems do not allow abstracting over \emph{where} methods are implemented. This…

Programming Languages · Computer Science 2011-10-18 David Lievens , Bill Harrison

Planning is a fundamental activity, arising frequently in many contexts, from daily tasks to industrial processes. The planning task consists of selecting a sequence of actions to achieve a specified goal from specified initial conditions.…

Artificial Intelligence · Computer Science 2024-12-10 Carla Davesa Sureda , Joan Espasa Arxer , Ian Miguel , Mateu Villaret Auselle

A C++ software design is presented that can be used to interpolate data in any number of dimensions. The design is based on a combination of templates of functional collections of elements and so-called type lists. The design allows for…

Mathematical Software · Computer Science 2019-07-08 Maarten de Jong

Nowadays, many decision support applications need to exploit data that are not only numerical or symbolic, but also multimedia, multistructure, multisource, multimodal, and/or multiversion. We term such data complex data. Managing and…

Databases · Computer Science 2007-07-12 Jérôme Darmont , Omar Boussaid , Jean-Christian Ralaivao , Kamel Aouiche

A zipper is a powerful technique of representing a purely functional data structure in a way that allows fast access to a specific element. It is often used in cases where the imperative data structures would use a mutable pointer. However,…

Programming Languages · Computer Science 2019-08-30 Vít Šefl

The study of polarity in computation has revealed that an "ideal" programming language combines both call-by-value and call-by-name evaluation; the two calling conventions are each ideal for half the types in a programming language. But…

Logic in Computer Science · Computer Science 2023-06-22 Paul Downen , Zena M. Ariola

Julia is a mature general-purpose programming language, with a large ecosystem of libraries and more than 12000 third-party packages, which specifically targets scientific computing. As a language, Julia is as dynamic, interactive, and…

Columnar databases are an established way to speed up online analytical processing (OLAP) queries. Nowadays, data processing (e.g., storage, visualization, and analytics) is often performed at the programming language level, hence it is…

Programming Languages · Computer Science 2023-02-21 Sebastian Kloibhofer , Lukas Makor , David Leopoldseder , Daniele Bonetta , Lukas Stadler , Hanspeter Mössenböck

Neural networks that compute over graph structures are a natural fit for problems in a variety of domains, including natural language (parse trees) and cheminformatics (molecular graphs). However, since the computation graph has a different…

Neural and Evolutionary Computing · Computer Science 2017-02-23 Moshe Looks , Marcello Herreshoff , DeLesley Hutchins , Peter Norvig

Modern software systems often consist of many different components, each with a number of options. Although unit tests may reveal faulty options for individual components, functionally correct components may interact in unforeseen ways to…

Data Structures and Algorithms · Computer Science 2016-06-23 Kaushik Sarkar , Charles J. Colbourn

Programmers regularly use strings to encode many types of data, such as Unix file paths, URLs, and email addresses, that are conceptually different. However, existing mainstream programming languages use a unified string type to represent…

Software Engineering · Computer Science 2025-01-22 Fengmin Zhu , Andreas Zeller

Motivated by old and new applications, we investigate Datalog as a language for sequence databases. We reconsider classical features of Datalog programs, such as negation, recursion, intermediate predicates, and relations of higher arities.…

Databases · Computer Science 2022-06-15 Heba Aamer , Jan Hidders , Jan Paredaens , Jan Van den Bussche