English
Related papers

Related papers: Koka: Programming with Row Polymorphic Effect Type…

200 papers

Compositional methods are central to the development and verification of software systems. They allow to break down large systems into smaller components, while enabling reasoning about the behaviour of the composed system. For concurrent…

Logic in Computer Science · Computer Science 2020-11-12 Alex C. Keizer , Henning Basold , Jorge A. Pérez

Many software engineering tasks, such as testing, and anomaly detection can benefit from the ability to infer a behavioral model of the software.Most existing inference approaches assume access to code to collect execution sequences. In…

Machine Learning · Computer Science 2021-10-13 Foozhan Ataiefard , Mohammad Jafar Mashhadi , Hadi Hemmati , Niel Walkinshaw

Many beloved programming systems are image-based: self-contained worlds that persist both code and data in a single file. Examples include Smalltalk, LISP, HyperCard, Flash, and spreadsheets. Image-based programming avoids much of the…

Programming Languages · Computer Science 2021-10-19 Jonathan Edwards , Tomas Petricek

In functional programming, datatypes a la carte provide a convenient modular representation of recursive datatypes, based on their initial algebra semantics. Unfortunately it is highly challenging to implement this technique in proof…

Logic in Computer Science · Computer Science 2015-09-11 Paolo Torrini , Tom Schrijvers

A type system combining type application, constants as types, union types (associative, commutative and idempotent) and recursive types has recently been proposed for statically typing path polymorphism, the ability to define functions that…

Logic in Computer Science · Computer Science 2020-06-30 Juan Edi , Andrés Viso , Eduardo Bonelli

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction.…

Programming Languages · Computer Science 2022-03-04 Henry Mercer , Cameron Ramsay , Neel Krishnaswami

We propose a type system to analyze the time consumed by multi-threaded imperative programs with a shared global memory, which delineates a class of safe multi-threaded programs. We demonstrate that a safe multi-threaded program runs in…

Computational Complexity · Computer Science 2012-04-02 Jean-Yves Marion , Romain Péchoux

Effect systems are used to statically reason about the effects an expression may have when evaluated. In the literature, such effects include various behaviours as diverse as memory accesses and exception throwing. Here we present CallE, an…

Programming Languages · Computer Science 2019-09-09 Isaac Oscar Gariano , James Noble , Marco Servetto

Discriminative Feature Feedback is a setting proposed by Dastupta et al. (2018), which provides a protocol for interactive learning based on feature explanations that are provided by a human teacher. The features distinguish between the…

Machine Learning · Computer Science 2023-11-14 Sivan Sabato

In previous work, we have introduced functional strategies, that is, first-class generic functions that can traverse into terms of any type while mixing uniform and type-specific behaviour. In the present paper, we give a detailed…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

This thesis investigates effectful declarative programming with an emphasis on non-determinism as an effect. On the one hand, we are interested in developing applications using non-determinism as underlying implementation idea. We discuss…

Programming Languages · Computer Science 2020-06-03 Sandra Dylus

Programming languages assume programs directly execute effects. When autonomous systems generate behavior dynamically, this assumption becomes problematic: there is no structural mediation point between deciding to act and acting. We define…

Programming Languages · Computer Science 2026-05-26 Alan L. McCann

We use Hidden Markov Models to motivate a quantitative compositional semantics for noninterference-based security with iteration, including a refinement- or "implements" relation that compares two programs with respect to their information…

Cryptography and Security · Computer Science 2019-02-20 Annabelle McIver , Larissa Meinicke , Carroll Morgan

We reflect on programming with complicated effects, recalling an undeservingly forgotten alternative to monadic programming and checking to see how well it can actually work in modern functional languages. We adopt and argue the position of…

Programming Languages · Computer Science 2019-05-17 Oleg Kiselyov

Session types have been proposed as a means of statically verifying implementations of communication protocols. Although prior work has been successful in verifying some classes of protocols, it does not cope well with parameterized,…

Programming Languages · Computer Science 2012-08-24 Minas Charalambides , Peter Dinges , Gul Agha

The potential benefits of model-free reinforcement learning to real robotics systems are limited by its uninformed exploration that leads to slow convergence, lack of data-efficiency, and unnecessary interactions with the environment. To…

Robotics · Computer Science 2020-11-04 Yuchen Wu , Melissa Mozifian , Florian Shkurti

The scenario-based specification of a large distributed system is usually naturally decomposed into various modules. The integration of specification modules contrasts to the parallel composition of program components, and includes various…

Programming Languages · Computer Science 2012-10-09 Guoxin Su , Mingsheng Ying , Chengqi Zhang

We address the problem of local type inference for a language based on System F with context-free session types. We present an algorithm that leverages the bidirectional type checking approach to propagate type information, enabling first…

Programming Languages · Computer Science 2025-05-28 Bernardo Almeida , Andreia Mordido , Vasco T. Vasconcelos

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Particle-style token machines are a way to interpret proofs and programs, when the latter are written following the principles of linear logic. In this paper, we show that token machines also make sense when the programs at hand are those…

Logic in Computer Science · Computer Science 2015-02-18 Ugo Dal Lago , Margherita Zorzi