English
Related papers

Related papers: Type-Based Resource Analysis on Haskell

200 papers

It is a strength of graph-based data formats, like RDF, that they are very flexible with representing data. To avoid run-time errors, program code that processes highly-flexible data representations exhibits the difficulty that it must…

Programming Languages · Computer Science 2019-07-02 Martin Leinberger , Philipp Seifer , Claudia Schon , Ralf Lämmel , Steffen Staab

Push/enter and eval/apply are two calling conventions used in implementations of functional languages. In this paper, we explore the following observation: when considering functions with multiple arguments, the stack under the push/enter…

Programming Languages · Computer Science 2016-06-22 Maciej Piróg , Jeremy Gibbons

Coverage Types provide a suitable type mechanism that integrates under-approximation logic to support Property-Based Testing. They are used to type the return value of a function that represents an input test generator. This allows us to…

Logic in Computer Science · Computer Science 2025-02-25 Angelo Passarelli , Gian-Luigi Ferrari

There exist many techniques for automatically deriving parametric resource (or cost) bounds by analyzing the source code of a program. These techniques work effectively for a large class of programs and language features. However, non-local…

Programming Languages · Computer Science 2026-03-04 Ethan Chu , Yiyang Guo , Jan Hoffmann

We present a new technique called type targeted testing, which translates precise refinement types into comprehensive test-suites. The key insight behind our approach is that through the lens of SMT solvers, refinement types can also be…

Programming Languages · Computer Science 2017-08-29 Eric L. Seidel , Niki Vazou , Ranjit Jhala

In order to automatically infer the resource consumption of programs, analyzers track how data sizes change along program's execution. Typically, analyzers measure the sizes of data by applying norms which are mappings from data to natural…

Programming Languages · Computer Science 2019-08-07 Elvira Albert , Samir Genaim , Raúl Gutiérrez , Enrique Martin-Martin

We provide a "shared axiomatization" of natural numbers and hereditarily finite sets built around a polymorphic abstraction of bijective base-2 arithmetics. The "axiomatization" is described as a progressive refinement of Haskell type…

Symbolic Computation · Computer Science 2010-07-01 Paul Tarau

When components of a system exchange data, they need to serialise the data so that it can be sent over the network. Then, the recipient has to deserialise the data in order to be able to process it. These steps take time and have an impact…

Programming Languages · Computer Science 2025-04-30 Arthur Jamet , Michael Vollmer

In recent years we have explored using Haskell alongside a traditional mathematical formalism in our large-enrolment university course on topics including logic and formal languages, aiming to offer our students a programming perspective on…

Computers and Society · Computer Science 2022-08-10 Matthew Farrugia-Roberts , Bryn Jeffries , Harald Søndergaard

That the Haskell Compiler GHC is capable of proving non-trivial equalities between Haskell code, by virtue of its aggressive optimizer, in particular the term rewriting engine in the simplifier. We demonstrate this with a surprising little…

Programming Languages · Computer Science 2018-05-22 Joachim Breitner

This article presents a type-based analysis for deriving upper bounds on the expected execution cost of probabilistic programs. The analysis is naturally compositional, parametric in the cost model, and supports higher order functions and…

Programming Languages · Computer Science 2020-09-23 Di Wang , David M Kahn , Jan Hoffmann

Typestate systems are notoriously complex as they require sophisticated machinery for tracking aliasing. We propose a new, transition-oriented foundation for typestate in the setting of impure functional programming. Our approach relies on…

Programming Languages · Computer Science 2024-09-27 Hannes Saffrich , Yuki Nishida , Peter Thiemann

We present a novel general resource analysis for logic programs based on sized types. Sized types are representations that incorporate structural (shape) information and allow expressing both lower and upper bounds on the size of a set of…

Programming Languages · Computer Science 2020-02-19 Alejandro Serrano , Pedro Lopez-Garcia , Manuel V. Hermenegildo

In this paper we establish an automated amortised resource analysis for term rewrite systems. The method is presented in an annotated type system and gives rise to polynomial bounds on the innermost runtime complexity of the analysed term…

Logic in Computer Science · Computer Science 2018-11-26 Georg Moser , Manuel Schneckenreither

Inspired by the trend on unifying theories of programming, this paper shows how the algebraic treatment of standard data dependency theory equips relational data with functional types and an associated type system which is useful for type…

Logic in Computer Science · Computer Science 2012-10-18 Jose N. Oliveira

Bounded linear types have proved to be useful for automated resource analysis and control in functional programming languages. In this paper we introduce an affine bounded linear typing discipline on a general notion of resource which can…

Programming Languages · Computer Science 2013-07-10 Dan R. Ghica , Alex Smith

We propose a type-based analysis to infer the session protocols of channels in an ML-like concurrent functional language. Combining and extending well-known techniques, we develop a type-checking system that separates the underlying ML type…

Programming Languages · Computer Science 2016-04-14 Carlo Spaccasassi , Vasileios Koutavas

A novel formalisation of variable control in languages with implicit names based on de Bruijn indices is presented. We design and implement three languages: first, a restricted language with implicit names; then, a restricted calculus with…

Logic in Computer Science · Computer Science 2026-01-14 Silvia Ghilezan , Jelena Ivetić , Pierre Lescanne , Simona Kašterović

We consider type inference in the Hindley/Milner system extended with type annotations and constraints with a particular focus on Haskell-style type classes. We observe that standard inference algorithms are incomplete in the presence of…

Programming Languages · Computer Science 2007-05-23 Peter J Stuckey , Martin Sulzmann , Jeremy Wazny

Constraint Handling Rules (CHR) is a rule-based programming language that rewrites collections of constraints. It is typically embedded into a general-purpose language. There exists a plethora of implementation for numerous host languages.…

Programming Languages · Computer Science 2025-08-26 Sascha Rechenberger , Thom Frühwirth