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 construction where resolution does not terminate. This paper shows, for the first time, that corecursive type class resolution and its extensions are coinductively sound with respect to the greatest Herbrand models of logic programs and that they are inductively unsound with respect to the least Herbrand models. We establish incompleteness results for various fragments of the proof system
Co-recursion is the ability of defining a function that produces some infinite data in terms of the ...
We provide techniques to integrate resolution logic with equality into type theory. The results may ...
Algorithms for constraint set satisfiability and simplification of Haskell type class constraints a...
Horn clauses and first-order resolution are commonly used for the implementation of type classes in ...
Resolution lies at the foundation of both logic programming and type class context reduction in func...
Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript,...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
We study the type inference problem for a system with type classes as in the functional programming ...
We study the type inference problem for a system with type classes as in the functional programming ...
Languages supporting polymorphism typically have ad-hoc restrictions on where polymorphic types may ...
We propose a new type-theoretic approach to SLD-resolution and Horn-clause logic programming. It vie...
Quantified class constraints have been proposed many years ago to raise the expressive power of type...
We discuss type classes in the context of the Chameleon language, a Haskell-style language where ove...
Abstract. We propose a new type-theoretic approach to SLD-resolution and Horn-clause logic programmi...
Co-recursion is the ability of defining a function that produces some infinite data in terms of the ...
We provide techniques to integrate resolution logic with equality into type theory. The results may ...
Algorithms for constraint set satisfiability and simplification of Haskell type class constraints a...
Horn clauses and first-order resolution are commonly used for the implementation of type classes in ...
Resolution lies at the foundation of both logic programming and type class context reduction in func...
Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript,...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
We study the type inference problem for a system with type classes as in the functional programming ...
We study the type inference problem for a system with type classes as in the functional programming ...
Languages supporting polymorphism typically have ad-hoc restrictions on where polymorphic types may ...
We propose a new type-theoretic approach to SLD-resolution and Horn-clause logic programming. It vie...
Quantified class constraints have been proposed many years ago to raise the expressive power of type...
We discuss type classes in the context of the Chameleon language, a Haskell-style language where ove...
Abstract. We propose a new type-theoretic approach to SLD-resolution and Horn-clause logic programmi...
Co-recursion is the ability of defining a function that produces some infinite data in terms of the ...
We provide techniques to integrate resolution logic with equality into type theory. The results may ...
Algorithms for constraint set satisfiability and simplification of Haskell type class constraints a...