中文
相关论文

相关论文: Haskell's overlooked object system

200 篇论文

Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by…

编程语言 · 计算机科学 2026-01-08 Ivan Perez , Angel Herranz

High-level reversible programming languages are few and far between and in general offer only rudimentary abstractions from the details of the underlying machine. Modern programming languages offer a wide array of language constructs and…

编程语言 · 计算机科学 2017-07-26 Tue Haulund

Liquid Haskell is an extension to the Haskell programming language that adds support for refinement types: data types augmented with SMT-decidable logical predicates that refine the set of values that can inhabit a type. Furthermore, Liquid…

编程语言 · 计算机科学 2021-10-12 Patrick Redmond , Gan Shen , Lindsey Kuper

Object oriented constraint programs (OOCPs) emerge as a leading evolution of constraint programming and artificial intelligence, first applied to a range of industrial applications called configuration problems. The rich variety of…

人工智能 · 计算机科学 2007-05-23 Laurent Henocque

The Semantic Web ontology language OWL 2 DL comes with a variety of language features that enable sophisticated and practically useful modeling. However, the use of these features has been severely restricted in order to retain decidability…

人工智能 · 计算机科学 2013-04-30 Michael Schneider , Sebastian Rudolph , Geoff Sutcliffe

Linear constraints are the linear counterpart of Haskell's class constraints. Linearly typed parameters allow the programmer to control resources such as file handles and manually managed memory as linear arguments. Indeed, a linear type…

编程语言 · 计算机科学 2026-04-24 Arnaud Spiwack , Csongor Kiss , Jean-Philippe Bernardy , Nicolas Wu , Richard A. Eisenberg

Refinement type checkers are a powerful way to reason about functional programs. For example, one can prove properties of a slow, specification implementation, porting the proofs to an optimized implementation that behaves the same. Without…

编程语言 · 计算机科学 2022-07-20 Niki Vazou , Michael Greenberg

Aliasing is a known source of challenges in the context of imperative object-oriented languages, which have led to important advances in type systems for aliasing control. However, their large-scale adoption has turned out to be a…

编程语言 · 计算机科学 2016-07-26 Philipp Haller , Alexandre Loiko

A paradox of requirements specifications as dominantly practiced in the industry is that they often claim to be object-oriented (OO) but largely rely on procedural (non-OO) techniques. Use cases and user stories describe functional flows,…

The R programming language is widely used in large-scale data analyses. It contains especially rich built-in support for dealing with vectors, arrays, and matrices. These operations feature prominently in the applications that form R's…

编程语言 · 计算机科学 2023-04-11 John Wrenn , Anjali Pal , Alexa VanHattum , Shriram Krishnamurthi

Functors with an instance of the Traversable type class can be thought of as data structures which permit a traversal of their elements. This has been made precise by the correspondence between traversable functors and finitary containers…

计算机科学中的逻辑 · 计算机科学 2022-07-21 Gershom Bazerman

We present a statically typed embedding of relational programming (specifically a dialect of miniKanren with disequality constraints) in Haskell. Apart from handling types, our dialect extends standard relational combinator repertoire with…

编程语言 · 计算机科学 2024-09-02 Nikolai Kudasov , Artem Starikov

Elegant Objects (EO) is a variation of the object-oriented programming paradigm that favors pure objects and decoration. EO programming language is based on these ideas and has been suggested by Bugayenko as an intermediate representation…

编程语言 · 计算机科学 2022-09-07 Nikolai Kudasov , Mikhail Olokin , Oleksii Potyomkin , Nikolay Shilov , Maxim Stepanov

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following…

编程语言 · 计算机科学 2020-09-22 Jana Dunfield , Neelakantan R. Krishnaswami

We study the notion of extensibility in functional data types, as a new approach to the problem of decorating abstract syntax trees with additional sets of information. We observed the need for such extensibility while redesigning the data…

编程语言 · 计算机科学 2016-10-18 Shayan Najd , Simon Peyton Jones

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

编程语言 · 计算机科学 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

Context: Embedded Domain-Specific Languages (EDSLs) are a common and widely used approach to DSLs in various languages, including Haskell and Scala. There are two main implementation techniques for EDSLs: shallow embeddings and deep…

编程语言 · 计算机科学 2019-02-05 Weixin Zhang , Bruno Oliveira

We introduce OpSets, an executable framework for specifying and reasoning about the semantics of replicated datatypes that provide eventual consistency in a distributed system, and for mechanically verifying algorithms that implement these…

分布式、并行与集群计算 · 计算机科学 2018-05-15 Martin Kleppmann , Victor B. F. Gomes , Dominic P. Mulligan , Alastair R. Beresford

Ontologies are traditionally expressed in the Web Ontology Language (OWL), that provides a syntax for expressing taxonomies with axioms regulating class membership. The semantics of OWL, based on Description Logic (DL), allows for the use…

信息论 · 计算机科学 2023-09-07 Veronika Heimsbakk , Kristian Torkelsen

Modern Haskell supports zero-cost coercions, a mechanism where types that share the same run-time representation may be freely converted between. To make sure such conversions are safe and desirable, this feature relies on a mechanism of…

编程语言 · 计算机科学 2019-06-03 Stephanie Weirich , Pritam Choudhury , Antoine Voizard , Richard A. Eisenberg