English
Related papers

Related papers: Haskell's overlooked object system

200 papers

The Isabelle proof assistant includes a small functional language, which allows users to write and reason about programs. So far, these programs could be extracted into a number of functional languages: Standard ML, OCaml, Scala, and…

Programming Languages · Computer Science 2024-09-20 Terru Stübinger , Lars Hupel

The Damas-Hindley-Milner (ML) type system owes its success to principality, the property that every well-typed expression has a unique most general type. This makes inference predictable and efficient. Unfortunately, many extensions of ML…

Programming Languages · Computer Science 2026-05-04 Alistair O'Brien , Didier Rémy , Gabriel Scherer

Pattern matching is a widely used technique in functional languages, especially those in the ML and Haskell traditions, where it is at the core of the semantics. In languages in the Lisp tradition, in contrast, pattern matching it typically…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt

This paper is a tutorial introducing the underlying technology and the use of the tool Liquid Haskell, a type-checker for the functional language Haskell that can help programmers to verify non-trivial properties of their programs with a…

Programming Languages · Computer Science 2017-01-13 Ricardo Peña

The Object Constraint Language (OCL) has been widely used in the modeling community to complement software models for precisely defining constraints and business rules for the modeled systems. There is a limited number of tools supporting…

Software Engineering · Computer Science 2025-03-04 Fitash Ul Haq , Jordi Cabot

We introduce One-shot Open Affordance Learning (OOAL), where a model is trained with just one example per base object category, but is expected to identify novel objects and affordances. While vision-language models excel at recognizing…

Computer Vision and Pattern Recognition · Computer Science 2023-11-30 Gen Li , Deqing Sun , Laura Sevilla-Lara , Varun Jampani

Representation theorems relate seemingly complex objects to concrete, more tractable ones. In this paper, we take advantage of the abstraction power of category theory and provide a general representation theorem for a wide class of…

Programming Languages · Computer Science 2015-02-05 Mauro Jaskelioff , Russell O'Connor

This paper provides an alternate characterization of type-two polynomial-time computability, with the goal of making second-order complexity theory more approachable. We rely on the usual oracle machines to model programs with subroutine…

Computational Complexity · Computer Science 2020-10-30 Bruce M. Kapron , Florian Steinberg

While a wide range of different, sometimes heterogeneous test coverage criteria have been proposed, there exists no generic formalism to describe them, and available test automation tools usually support only a small subset of them. We…

Software Engineering · Computer Science 2017-01-20 Sébastien Bardin , Mickaël Delahaye , Nikolai Kosmatov , Michaël Marcozzi , Virgile Prevosto

The pattern-match safety problem is to verify that a given functional program will never crash due to non-exhaustive patterns in its function definitions. We present a refinement type system that can be used to solve this problem. The…

Programming Languages · Computer Science 2020-11-26 Eddie Jones , Steven Ramsay

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

Traditional semi-supervised object detection methods assume a fixed set of object classes (in-distribution or ID classes) during training and deployment, which limits performance in real-world scenarios where unseen classes…

Computer Vision and Pattern Recognition · Computer Science 2024-11-05 Garvita Allabadi , Ana Lucic , Siddarth Aananth , Tiffany Yang , Yu-Xiong Wang , Vikram Adve

Subtyping, also known as subtype polymorphism, is a concept extensively studied in programming language theory, delineating the substitutability relation among datatypes. This property ensures that programs designed for supertype objects…

Artificial Intelligence · Computer Science 2025-02-14 Đorđe Marković , Marc Denecker

Owl is a new numerical library developed in the OCaml language. It focuses on providing a comprehensive set of high-level numerical functions so that developers can quickly build up data analytical applications. In this abstract, we will…

Mathematical Software · Computer Science 2018-08-29 Liang Wang

Instead of a monolithic programming language trying to cover all features of interest, some programming systems are designed by combining together simpler languages that cooperate to cover the same feature space. This can improve usability…

Programming Languages · Computer Science 2018-04-13 Gabriel Scherer , Max New , Nick Rioux , Amal Ahmed

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

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

This paper presents \tdl, a typed feature-based representation language and inference system. Type definitions in \tdl\ consist of type and feature constraints over the boolean connectives. \tdl\ supports open- and closed-world reasoning…

cmp-lg · Computer Science 2019-08-15 Hans-Ulrich Krieger , Ulrich Schäfer

Many programming languages in the OO tradition now support pattern matching in some form. Historical examples include Scala and Ceylon, with the more recent additions of Java, Kotlin, TypeScript, and Flow. But pattern matching on generic…

Programming Languages · Computer Science 2023-02-24 Aleksander Boruch-Gruszecki , Radosław Waśko , Yichen Xu , Lionel Parreaux

Generics have been added to Java so as to increase the expressiveness of its type system. Generics in Java, however, include some features---such as Java wildcards, $F$-bounded generics, and Java erasure---that have been hard to analyze and…

Programming Languages · Computer Science 2019-06-11 Moez A. AbdelGawad

The paper tackles the issue of mapping logic axioms formalised in the Ontology Web Language (OWL) within the Object-Oriented Programming (OOP) paradigm. The issues of mapping OWL axioms hierarchies and OOP objects hierarchies are due to…

Artificial Intelligence · Computer Science 2024-04-22 Luca Buoncompagni , Fulvio Mastrogiovanni