ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Strongly typed heterogeneous collections
Full text PdfPdf (162 KB)
Source Haskell archive
Proceedings of the 2004 ACM SIGPLAN workshop on Haskell table of contents
Snowbird, Utah, USA
SESSION: Session IV table of contents
Pages: 96 - 107  
Year of Publication: 2004
ISBN:1-58113-850-4
Authors
Oleg Kiselyov  FNMOC, Monterey, CA
Ralf Lämmel  VU & CWI, Amsterdam
Keean Schupke  Imperial College, London
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 64,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1017472.1017488
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
This paper's web site http://www.cwi.nl/~ralf/HList/, 2004. This site provides an extended paper version with extra appendicies that could not be included into the Haskell workshop paper. This site also provides a source code distribution for the GHC and Hugs implementations of Haskell.
2
 
3
M. Abadi, L. Cardelli, B. Pierce, and D. Remy. Dynamic typing in polymorphic languages. In Proceedings of the 1992 ACM Workshop on ML and its Applications, pages 92--103, San Francisco, June 1992.
4
 
5
G. Bracha and G. Lindstrom. Modularity Meets Inheritance. In Proceedings: 4th International Conference on Computer Languages, pages 282--290. IEEE Computer Society Press, 1992.
6
7
8
 
9
G. Duck, S. Peyton Jones, P. Stuckey, and M. Sulzmann. Sound and Decidable Type Inference for Functional Dependencies. In D. Schmidt, editor, Proceedings, 13th European Symposium on Programming, ESOP 2004, Barcelona, Spain, March 29 - April 2, 2004, volume 2986 of LNCS, pages 49--63. Springer-Verlag, 2004.
 
10
B. Gaster and M. Jones. A Polymorphic Type System for Extensible Records and Variants. Technical report NOTTCS-TR-96-3, University of Nottingham, Department of Computer Science, Nov. 1996.
 
11
H. Nilsson. The Future of Haskell discussion at the Haskell Workshop, 2003. http://www.mail-archive.com/haskell\@haskell.org/msg13366.html.
 
12
T. Hallgren. Fun with functional dependencies. In Joint Winter Meeting of the Departments of Science and Computer Engineering, Chalmers University of Technology and Goteborg University, Varberg, Sweden, Jan. 2001, 2001. http://www.cs.chalmers.se/~hallgren/Papers/wm01.html.
13
 
14
E. W. J. Van den Bussche. Polymorphic type inference for the relational algebra. Journal of Computer and System Sciences, 64:694--718, 2002. An extended abstract appeared in PODS'99.
 
15
16
 
17
18
19
 
20
 
21
M. Neubauer, P. Thiemann, M. Gasbichler, and M. Sperber. A Functional Notation for Functional Dependencies. In Proc. 2001 ACM SIGPLAN Haskell Workshop, Firenze, Italy, September 2001, pages 101--120, 2001.
22
23
24
 
25
C. Okasaki. An Overview of Edison. In G. Hutton, editor, Electronic Notes in Theoretical Computer Science, volume 41. Elsevier, 2001.
 
26
S. Peyton Jones. Adding Ord constraint to instance Monad Set?, 2004. http://www.haskell.org/pipermail/haskell-cafe/2004-March/005998.html.
 
27
S. Peyton Jones, M. Jones, and E. Meijer. Type classes: exploring the design space. In J. Launchbury, editor, Haskell workshop, Amsterdam, 1997.
 
28
S. Peyton Jones and G. Morrisett. A proposal for records in Haskell, 24 Feb. 2003. Online document: http://research.microsoft.com/~simonpj/Haskell/records.html.
 
29
30
31
 
32
M. Sulzmann et al. Chameleon, 2004. Web site http://www.comp.nus.edu.sg/~sulzmann/chameleon/.
33
34
35

CITED BY  19

Collaborative Colleagues:
Oleg Kiselyov: colleagues
Ralf Lämmel: colleagues
Keean Schupke: colleagues