中文
相关论文

相关论文: Type Classes and Constraint Handling Rules

200 篇论文

Many variants of type theory extend a basic theory with additional primitives or properties like univalence, guarded recursion or parametricity, to enable constructions or proofs that would be harder or impossible to do in the original…

编程语言 · 计算机科学 2022-07-05 Joris Ceulemans , Andreas Nuyts , Dominique Devriese

We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic…

编程语言 · 计算机科学 2009-09-29 Francois Fages , Emmanuel Coquery

We present a new, uniform semantics for Haskell-style overloading. We realize our approach in a new core language, System F$_\mathrm{D}$, whose metatheory we mechanize in the Lean4 interactive theorem prover. System F$_\mathrm{D}$ is…

编程语言 · 计算机科学 2025-07-23 Andrew Marmaduke , Apoorv Ingle , J. Garrett Morris

The fact that Applicative type class allows one to express simple parsers in a variable-less combinatorial style is well appreciated among Haskell programmers for its conceptual simplicity, ease of use, and usefulness for semi-automated…

编程语言 · 计算机科学 2019-05-28 Jan Malakhovski , Sergei Soloviev

Machine learning models are widely used for real-world applications, such as document analysis and vision. Constrained machine learning problems are problems where learned models have to both be accurate and respect constraints. For…

机器学习 · 计算机科学 2021-12-03 Guillaume Perez , Sebastian Ament , Carla Gomes , Arnaud Lallouet

Topological collections allow to consider uniformly many data structures in programming languages and are handled by functions defined by pattern matching called transformations. We present two type systems for languages with topological…

编程语言 · 计算机科学 2009-12-25 Julien Cohen

Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript, is generally nondeterministic: there can be multiple ways to satisfy a wanted constraint in terms of global instances and locally given…

编程语言 · 计算机科学 2019-07-16 Gert-Jan Bottu , Ningning Xie , Koar Marntirosian , Tom Schrijvers

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…

编程语言 · 计算机科学 2019-07-02 Martin Leinberger , Philipp Seifer , Claudia Schon , Ralf Lämmel , Steffen Staab

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

Clocked Type Theory (CloTT) is a type theory for guarded recursion useful for programming with coinductive types, allowing productivity to be encoded in types, and for reasoning about advanced programming language features using an abstract…

计算机科学中的逻辑 · 计算机科学 2018-04-19 Bassel Mannaa , Rasmus Ejlers Møgelberg

We report on a half-semester course focused around implementation of type systems in programming languages. The course assumes basics of classical compiler construction, in particular, the abstract syntax representation, the Visitor…

编程语言 · 计算机科学 2024-07-12 Abdelrahman Abounegm , Nikolai Kudasov , Alexey Stepanov

When using existing ACL2 datatype frameworks, many theorems require type hypotheses. These hypotheses slow down the theorem prover, are tedious to write, and are easy to forget. We describe a principled approach to types that provides…

计算机科学中的逻辑 · 计算机科学 2015-09-22 Sol Swords , Jared Davis

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…

编程语言 · 计算机科学 2020-11-26 Eddie Jones , Steven Ramsay

Many object-oriented dynamic languages allow programmers to _extract methods_ from objects and treat them as functions. This allows for flexible programming patterns, but presents challenges for type systems. In particular, a simple…

编程语言 · 计算机科学 2021-11-23 Yuquan Fu , Sam Tobin-Hochstadt

We present a miniKanren-based type inferencer for an educational programming language with first-class functions, S-expressions, and pattern-matching. The language itself is untyped which adds a certain specificity to the problem and…

编程语言 · 计算机科学 2024-09-02 Eridan Domoratskiy , Dmitry Boulytchev

A wide range of problems can be modelled as constraint satisfaction problems (CSPs), that is, a set of constraints that must be satisfied simultaneously. Constraints can either be represented extensionally, by explicitly listing allowed…

人工智能 · 计算机科学 2013-07-09 Evgenij Thorstensen

We present a type system that combines, in a controlled way, first-order polymorphism with intersectiontypes, union types, and subtyping, and prove its safety. We then define a type reconstruction algorithm that issound and terminating.…

编程语言 · 计算机科学 2023-11-20 Giuseppe Castagna , Mickaël Laurent , Kim Nguyen

The constraint satisfaction problem (CSP) is a general problem central to computer science and artificial intelligence. Although the CSP is NP-hard in general, considerable effort has been spent on identifying tractable subclasses. The main…

人工智能 · 计算机科学 2014-07-09 David A. Cohen , Martin C. Cooper , Páidí Creed , András Z. Salamon

Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what…

编程语言 · 计算机科学 2020-10-16 Ranjit Jhala , Niki Vazou

Horn clauses and first-order resolution are commonly used to implement type classes in Haskell. Several corecursive extensions to type class resolution have recently been proposed, with the goal of allowing (co)recursive dictionary…

编程语言 · 计算机科学 2016-12-09 František Farka , Ekaterina Komendantskaya , Kevin Hammond