We present a novel approach to regular, multi-dimensional arrays in Haskell. The main highlights of our approach are that it (1) is purely functional, (2) supports reuse through shape polymorphism, (3) avoids unnecessary intermediate structures rather than relying on subsequent loop fusion, and (4) supports transparent parallelisation. We show how to embed two forms of shape polymorphism into Haskell’s type system using type classes and type families. In par-ticular, we discuss the generalisation of regular array transforma-tions to arrays of higher rank, and introduce a type-safe specifica-tion of array slices. We discuss the runtime performance of our approach for three standard array algorithms. We achieve absolute performance com-parabl...
Enabling programmers to "think parallel'' is critical if we are to be able to effectively exploit fu...
This paper describes a practical type inference algorithm for typing poly-morphic and possibly mutua...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
We present a novel approach to regular, multi-dimensional arrays in Haskell. The main highlights of ...
O'Haskell is a programming language derived from Haskell by the addition of concurrent reactive obje...
Several generic programs for converting values from regular datatypes to some other format, togethe...
Several generic programs for converting values from regular datatypes to some other format, together...
Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic progr...
AbstractSeveral generic programs for converting values from regular datatypes to some other format, ...
Abstract The Haskell String type is notoriously inefficient. We introduce a new data type, ByteStrin...
Nowadays, performance in processors is increased by adding more cores orwider vector units, or by co...
Nowadays, performance in processors is increased by adding more cores or wider vector units, or by c...
This paper discusses some advantages of supporting polymorphic recursión in programming languages an...
In this paper, we describe two techniques for the efficient, modularized implementation of a large c...
A generic compact printer and a corresponding parser are constructed. These programs transform valu...
Enabling programmers to "think parallel'' is critical if we are to be able to effectively exploit fu...
This paper describes a practical type inference algorithm for typing poly-morphic and possibly mutua...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
We present a novel approach to regular, multi-dimensional arrays in Haskell. The main highlights of ...
O'Haskell is a programming language derived from Haskell by the addition of concurrent reactive obje...
Several generic programs for converting values from regular datatypes to some other format, togethe...
Several generic programs for converting values from regular datatypes to some other format, together...
Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic progr...
AbstractSeveral generic programs for converting values from regular datatypes to some other format, ...
Abstract The Haskell String type is notoriously inefficient. We introduce a new data type, ByteStrin...
Nowadays, performance in processors is increased by adding more cores orwider vector units, or by co...
Nowadays, performance in processors is increased by adding more cores or wider vector units, or by c...
This paper discusses some advantages of supporting polymorphic recursión in programming languages an...
In this paper, we describe two techniques for the efficient, modularized implementation of a large c...
A generic compact printer and a corresponding parser are constructed. These programs transform valu...
Enabling programmers to "think parallel'' is critical if we are to be able to effectively exploit fu...
This paper describes a practical type inference algorithm for typing poly-morphic and possibly mutua...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...