You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.

The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.

For the reports in this repository we specifically note that

  • the use of articles under IEEE copyright is governed by the IEEE copyright policy (available at
  • the use of articles under ACM copyright is governed by the ACM copyright policy (available at
  • technical reports and other articles issued by M‰lardalen University is free for personal use. For other use, the explicit consent of the authors is required
  • in other cases, please contact the copyright owner for detailed information

By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.

If you are in doubt, feel free to contact

Reimplementing Data Field Haskell



Jesper Simos

Research group:

Publication Type:

Student Thesis


Indexed data structures, such as arrays and matrices, can be found in many programming languages. The data field model is a semantical framework which seeks to capture the essence of indexed data structures and make them more generalised. The first implementation of the data field model, Data Field Haskell, was done in Haskell 1.3 as an extension to an existing Haskell compiler. This compiler, dfhc, was ported to a newer compiler version, dfhc98, and updated to be Haskell98 compatible. Data Fields enables a collection-oriented programming style on Haskell.In this thesis we present a new implementation of the data field model in Haskell. This implementation is not built as a extension to an existing compiler. The presented solution is comprised of a library and preprocessor that offers functionality equivalent to that of the old dfhc98 compiler. The proposed implementation is small, portable and modular, leading to a solution that is easier to maintain and extend as need arises.


author = {Jesper Simos},
title = {Reimplementing Data Field Haskell},
month = {April},
year = {2007},
url = {}