activity
20052026
most citedCoherence of Type Class Resolution

10 citations · 45 across the 26 of their papers we have counts for

collaborators
Showing cs.PLShow all

23 papers · 1 filter

cs.PL2024★ 1 cited

Let a Thousand Flowers Bloom: An Algebraic Representation for Edge Graphs

Jack Liell-Cock, Tom Schrijvers

Context: Edge graphs are graphs whose edges are labelled with identifiers, and nodes can have multiple edges between them. They are used to model a wide range of systems, including…

cs.PL2023

From High to Low: Simulating Nondeterminism and State with State

Wenhao Tang, Tom Schrijvers

Some effects are considered to be higher-level than others. High-level effects provide expressive and succinct abstraction of programming concepts, while low-level effects allow mo…

cs.PL2023

Automatic Differentiation in Prolog

Tom Schrijvers, Birthe van den Berg, Fabrizio Riguzzi

Automatic differentiation (AD) is a range of algorithms to compute the numeric value of a function's (partial) derivative, where the function is typically given as a computer progr…

cs.PL2023★ 1 cited

A Calculus for Scoped Effects & Handlers

Roger Bosman, Birthe van den Berg, Wenhao Tang +1

Algebraic effects & handlers have become a standard approach for side-effects in functional programming. Their modular composition with other effects and clean separation of syntax…

cs.PL2023★ 4 cited

A Framework for Higher-Order Effects & Handlers

Birthe van den Berg, Tom Schrijvers

Algebraic effects & handlers are a modular approach for modeling side-effects in functional programming. Their syntax is defined in terms of a signature of effectful operations, en…

cs.PL2022★ 4 cited

Forward- or Reverse-Mode Automatic Differentiation: What's the Difference?

Birthe van den Berg, Tom Schrijvers, James McKinna +1

Automatic differentiation (AD) has been a topic of interest for researchers in many disciplines, with increased popularity since its application to machine learning and neural netw…

cs.PL2022

Structured Handling of Scoped Effects: Extended Version

Zhixuan Yang, Marco Paviotti, Nicolas Wu +2

Algebraic effects offer a versatile framework that covers a wide variety of effects. However, the family of operations that delimit scopes are not algebraic and are usually modelle…

cs.PL2021★ 1 cited

Latent Effects for Reusable Language Components: Extended Version

Birthe van den Berg, Tom Schrijvers, Casper Bach-Poulsen +1

The development of programming languages can be quite complicated and costly. Hence, much effort has been devoted to the modular definition of language features that can be reused…

cs.PL2021

Disjunctive Delimited Control

Alexander Vandenbroucke, Tom Schrijvers

Delimited control is a powerful mechanism for programming language extension which has been recently proposed for Prolog (and implemented in SWI-Prolog). By manipulating the contro…

cs.PL2020★ 5 cited

Resolution as Intersection Subtyping via Modus Ponens

Koar Marntirosian, Tom Schrijvers, Bruno C. d. S. Oliveira +1

Resolution and subtyping are two common mechanisms in programming languages. Resolution is used by features such as type classes or Scala-style implicits to synthesize values autom…

cs.PL2020

Disjunctive Delimited Control

Alexander Vandenbroucke, Tom Schrijvers

Delimited control is a powerful mechanism for programming language extension which has been recently proposed for Prolog (and implemented in SWI-Prolog). By manipulating the contro…

cs.PL2020★ 6 cited

Explicit Effect Subtyping

Georgios Karachalias, Matija Pretnar, Amr Hany Saleh +2

As popularity of algebraic effects and handlers increases, so does a demand for their efficient execution. Eff, an ML-like language with native support for handlers, has a subtypin…

cs.PL2020

PaSe: An Extensible and Inspectable DSL for Micro-Animations

Ruben P. Pieters, Tom Schrijvers

This paper presents PaSe, an extensible and inspectable DSL embedded in Haskell for expressing micro-animations. The philosophy of PaSe is to compose animations based on sequential…

cs.PL2019★ 10 cited

Coherence of Type Class Resolution

Gert-Jan Bottu, Ningning Xie, Koar Marntirosian +1

Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript, is generally nondeterministic: there can be multiple ways to satisfy a wanted c…

cs.PL2019★ 1 cited

Lazy Stream Programming in Prolog

Paul Tarau, Jan Wielemaker, Tom Schrijvers

In recent years, stream processing has become a prominent approach for incrementally handling large amounts of data, with special support and libraries in many programming language…

cs.PL2019

Bidirectional Type Class Instances (Extended Version)

Koen Pauwels, Georgios Karachalias, Michiel Derhaeg +1

GADTs were introduced in Haskell's eco-system more than a decade ago, but their interaction with several mainstream features such as type classes and functional dependencies has a…

cs.PL2016

Tabling with Sound Answer Subsumption

Alexander Vandenbroucke, Maciej Piróg, Benoit Desouter +1

Tabling is a powerful resolution mechanism for logic programs that captures their least fixed point semantics more faithfully than plain Prolog. In many tabling applications, we ar…

cs.PL2013★ 1 cited

Integrating Datalog and Constraint Solving

Benoit Desouter, Tom Schrijvers

LP is a common formalism for the field of databases and CSP, both at the theoretical level and the implementation level in the form of Datalog and CLP. In the past, close correspon…

cs.PL2012★ 2 cited

Extended Report: The Implicit Calculus

Bruno C. d. S. Oliveira, Tom Schrijvers, Wontae Choi +2

Generic programming (GP) is an increasingly important trend in programming languages. Well-known GP mechanisms, such as type classes and the C++0x concepts proposal, usually combin…

cs.PL2011★ 3 cited

Approximating Constraint Propagation in Datalog

Dario Campagna, Beata Sarna-Starosta, Tom Schrijvers

We present a technique exploiting Datalog with aggregates to improve the performance of programs with arithmetic (in)equalities. Our approach employs a source-to-source program tra…

cs.PL2009★ 2 cited

As time goes by: Constraint Handling Rules - A survey of CHR research from 1998 to 2007

Jon Sneyers, Peter Van Weert, Tom Schrijvers +1

Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed multiset rewrite rules. Originally designed for writing user-defined constraint solvers,…

cs.PL2007

TCHR: a framework for tabled CLP

Tom Schrijvers, Bart Demoen, David S. Warren

Tabled Constraint Logic Programming is a powerful execution mechanism for dealing with Constraint Logic Programming without worrying about fixpoint computation. Various application…

cs.PL2005

Improving PARMA Trailing

Tom Schrijvers, Maria Garcia de la Banda, Bart Demoen +1

Taylor introduced a variable binding scheme for logic variables in his PARMA system, that uses cycles of bindings rather than the linear chains of bindings used in the standard WAM…