In this paper we address the lack of extensibility of the exception type in Haskell. We propose a lightweight solution involving the use of existential types and the Typeable class only, and show how our solution allows a fully extensible hierarchy of exception types to be declared, in which a single overloaded catch operator can be used to catch either specific exception types, or exceptions belonging to any subclass in the hierarchy. We also show how to combine the existing object-oriented framework OOHaskell with our design, such that OOHaskell objects can be thrown and caught as exceptions, with full support for implicit OOHaskell subtyping in the catch operator
Unhandled exceptions crash programs, so a compile-time check that exceptions are handled should in p...
This paper presents an extension to standard Hindley-Milner type checking that allows constructors i...
Some type class instances can be automatically derived from the structure of types. As a result, the...
In this paper we present the first exception analysis for a non-strict language. We augment a simply...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
We present a proof rule and an effective tactic for proving properties about Haskell type classes by...
Although the functional programming language Haskell has a powerful type class system, users frequen...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
We report on an extension of Haskell with type(-level) functions and equality constraints. We illust...
We describe the implementation of a type checker for the functional programming language Haskell tha...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
Abstract. Haskell 2010 lacks flexibility in creating instances of type classes for type constructors...
The type system of Haskell and some related systems are based on an open world approach for overload...
The type class system in the Haskell Programming language provides a useful abstraction for a wide r...
In early versions of Haskell, the only direct way to construct values of user-defined datatypes was ...
Unhandled exceptions crash programs, so a compile-time check that exceptions are handled should in p...
This paper presents an extension to standard Hindley-Milner type checking that allows constructors i...
Some type class instances can be automatically derived from the structure of types. As a result, the...
In this paper we present the first exception analysis for a non-strict language. We augment a simply...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
We present a proof rule and an effective tactic for proving properties about Haskell type classes by...
Although the functional programming language Haskell has a powerful type class system, users frequen...
Haskell has a rich type system with various complementary, interacting and overlapping features. In ...
We report on an extension of Haskell with type(-level) functions and equality constraints. We illust...
We describe the implementation of a type checker for the functional programming language Haskell tha...
Multi-parameter type classes, functional dependencies, and re-cently GADTs and open type families op...
Abstract. Haskell 2010 lacks flexibility in creating instances of type classes for type constructors...
The type system of Haskell and some related systems are based on an open world approach for overload...
The type class system in the Haskell Programming language provides a useful abstraction for a wide r...
In early versions of Haskell, the only direct way to construct values of user-defined datatypes was ...
Unhandled exceptions crash programs, so a compile-time check that exceptions are handled should in p...
This paper presents an extension to standard Hindley-Milner type checking that allows constructors i...
Some type class instances can be automatically derived from the structure of types. As a result, the...