Strongly typed heterogeneous collections

Oleg Kiselyov, Ralf Lämmel, Keean Schupke

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

126 Citations (Scopus)


A heterogeneous collection is a datatype that is capable of storing data of different types, while providing operations for look-up, update, iteration, and others. There are various kinds of heterogeneous collections, differing in representation, invariants, and access operations. We describe HLIST - a Haskell library for strongly typed heterogeneous collections including extensible records. We illustrate HLIST's benefits in the context of type-safe database access in Haskell. The HLIST library relies on common extensions of Haskell 98. Our exploration raises interesting issues regarding Haskell's type system, in particular, avoidance of overlapping instances, and reification of type equality and type unification.

Original languageEnglish
Title of host publicationProceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04
PublisherAssociation for Computing Machinery
Number of pages12
ISBN (Print)1581138504, 9781581138504
Publication statusPublished - 2004
EventProceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04 - Snowbird, UT, United States
Duration: 2004 Sept 222004 Sept 22

Publication series

NameProceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04


ConferenceProceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell'04
Country/TerritoryUnited States
CitySnowbird, UT


  • Collections
  • Dependently typed programming
  • Extensible records
  • Haskell
  • Type equality
  • Type improvement
  • Type-indexed rows
  • Type-safe database access


Dive into the research topics of 'Strongly typed heterogeneous collections'. Together they form a unique fingerprint.

Cite this