English
Related papers

Related papers: Haskell's overlooked object system

200 papers

Over the last two decades practically all object-oriented programming languages have introduced features that are well-known from functional programming languages. But many features that were introduced were fragmentary. In Java-TX we…

Programming Languages · Computer Science 2024-12-05 Martin Pluemicke

In recent years, by utilizing optimization techniques to formulate the propagation of deep model, a variety of so-called Optimization-Derived Learning (ODL) approaches have been proposed to address diverse learning and vision tasks.…

Machine Learning · Computer Science 2023-09-13 Risheng Liu , Xuan Liu , Shangzhi Zeng , Jin Zhang , Yixuan Zhang

Conventional object detectors typically operate under a closed-set assumption, limiting recognition to a predefined set of base classes seen during training. Open-vocabulary object detection (OVD) addresses this limitation by leveraging…

Computer Vision and Pattern Recognition · Computer Science 2026-04-28 Sanghoon Lee , Geon Lee , Hyekang Park , Bumsub Ham

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

A hash table is said to be open-addressed (or non-obliviously open-addressed) if it stores elements (and free slots) in an array with no additional metadata. Intuitively, open-addressed hash tables must incur a space-time tradeoff: The…

Data Structures and Algorithms · Computer Science 2025-03-19 Michael A. Bender , William Kuszmaul , Renfei Zhou

Shapley value-based methods have become foundational in explainable artificial intelligence (XAI), offering theoretically grounded feature attributions through cooperative game theory. However, in practice, particularly in vision tasks, the…

Artificial Intelligence · Computer Science 2026-02-20 Xiangyu Zhou , Chenhan Xiao , Yang Weng

In modern OCaml, single-argument datatype declarations (variants with a single constructor, records with a single field) can sometimes be `unboxed'. This means that their memory representation is the same as their single argument (omitting…

Programming Languages · Computer Science 2018-12-13 Simon Colin , Rodolphe Lepigre , Gabriel Scherer

The object-capability model is a security measure that consists in encoding access rights in individual objects to restrict its interactions with other objects. Since its introduction in 2013, different approaches to object-capability have…

Software Engineering · Computer Science 2019-07-19 Jörn Koepe

Good tools can bring mechanical verification to programs written in mainstream functional languages. We use hs-to-coq to translate significant portions of Haskell's containers library into Coq, and verify it against specifications that we…

Programming Languages · Computer Science 2018-03-21 Joachim Breitner , Antal Spector-Zabusky , Yao Li , Christine Rizkallah , John Wiegley , Stephanie Weirich

Object detection methods trained on a fixed set of known classes struggle to detect objects of unknown classes in the open-world setting. Current fixes involve adding approximate supervision with pseudo-labels corresponding to candidate…

Computer Vision and Pattern Recognition · Computer Science 2024-10-11 Mısra Yavuz , Fatma Güney

Type inference is an application domain that is a natural fit for logic programming (LP). LP systems natively support unification, which serves as a basic building block of typical type inference algorithms. In particular, polymorphic type…

Programming Languages · Computer Science 2017-09-13 Ki Yung Ahn

Object-oriented programming languages such as Java and Objective C have become popular for implementing agent-based and other object-based simulations since objects in those languages can {\em reflect} (i.e. make runtime queries of an…

Mathematical Software · Computer Science 2008-10-22 Russell K. Standish , Duraid Madina

Bayesian networks provide a modeling language and associated inference algorithm for stochastic domains. They have been successfully applied in a variety of medium-scale applications. However, when faced with a large complex domain, the…

Artificial Intelligence · Computer Science 2013-02-08 Daphne Koller , Avi Pfeffer

Elegant Objects (EO) is a programming language based on ideas of pure objects and the Decorator pattern. Bugayenko has suggested it as an intermediate representation for object-oriented programs. This paper presents a version of dynamic…

Programming Languages · Computer Science 2022-10-17 Vitaliy Korbashov , Nikolai Kudasov , Mikhail Olokin , Violetta Sim

Online continual learning (OCL) refers to the ability of a system to learn over time from a continuous stream of data without having to revisit previously encountered training samples. Learning continually in a single data pass is crucial…

Machine Learning · Computer Science 2020-03-23 German I. Parisi , Vincenzo Lomonaco

Object-centric learning (OCL) aims to learn structured scene representations that support compositional generalization and robustness to out-of-distribution (OOD) data. However, OCL models are often not evaluated regarding these goals.…

Computer Vision and Pattern Recognition · Computer Science 2026-02-10 Krishnakant Singh , Simone Schaub-Meyer , Stefan Roth

We present a small, formal language for specifying the behavior of simple console I/O programs. The design is driven by the concrete application case of testing interactive Haskell programs written by students. Specifications are…

Programming Languages · Computer Science 2025-06-27 Oliver Westphal , Janis Voigtländer

We introduce the Rebound library that supports well-scoped term representations in Haskell and automates the definition of substitution, alpha-equivalence, and other operations that work with binding structures. The key idea of our design…

Programming Languages · Computer Science 2025-09-17 Noé De Santo , Stephanie Weirich

Using agda2hs and ad-hoc Haskell FFI bindings, writing Qt applications in C++ with Agda- or Haskell-based backends (possibly including correctness proofs) is already possible. However, there was no repeatable methodology to do so, nor to…

Programming Languages · Computer Science 2026-03-26 Viktor Csimma

Structural subtyping and parametric polymorphism provide similar flexibility and reusability to programmers. For example, both features enable the programmer to provide a wider record as an argument to a function that expects a narrower…

Programming Languages · Computer Science 2023-09-12 Wenhao Tang , Daniel Hillerström , James McKinna , Michel Steuwer , Ornela Dardha , Rongxiao Fu , Sam Lindley