## Data Fields (1998)

Venue: | In Proc. Workshop on Generic Programming, Marstrand |

Citations: | 4 - 4 self |

### BibTeX

@INPROCEEDINGS{Lisper98datafields,

author = {Björn Lisper},

title = {Data Fields},

booktitle = {In Proc. Workshop on Generic Programming, Marstrand},

year = {1998},

pages = {01--1234}

}

### OpenURL

### Abstract

This position paper describes the data field model, a general model for indexed data structures. The aim of this model is to capture the essence of the style of programming where computing on data structures is expressed by operations directly on the structures rather than operations on the individual elements. Array and and data parallel languages support this programming style, and functional languages often provide second order operations on lists and other data structures for the same purpose. The data field model is designed to be abstract enough to encompass a wide range of explicitly or implicitly indexed structures. Thus, algorithms which are expressed in terms of data fields and general operations on them will be independent of the choice of structure from this range -- i.e., generic w.r.t. this choice. This means that the data field approach has some in common with polytypic programming and the theory of shapes.

### Citations

946 |
Performance FORTRAN Forum. High performance fortran language specification, version 2.0
- High
- 1997
(Show Context)
Citation Context ...with a close connection to some underlying parallel architecture providing support for these operations). Modern array- and data parallel languages like Fortran 90 [3], High Performance Fortran (HPF) =-=[7]-=-, NESL [2], and Sisal [6, 17] provide support, as well as many functional languages which have a rich set of list operations corresponding to the array- and data parallel operations. Most of these lan... |

397 | LCF considered as a programming language - Plotkin - 1977 |

245 |
Combinatory reduction systems
- Klop
- 1980
(Show Context)
Citation Context ... to the laws for explicit restriction in Sect. 2.2. The semantics of '-abstraction over a given host language is given as a higher order rewrite system \Phi(R) (a Combinatory Reduction System, or CRS =-=[11, 12]-=-). R is a CRS which gives semantics for the host language in question. \Phi(R) consists of a number of reduction rules of the form '~x:t ! (~x:t; B(t; ~x; ;)) for all t such that B(t; ~x; ;) is define... |

232 |
Data parallel algorithms
- Hillis, Steele
- 1986
(Show Context)
Citation Context ...ar algebra. Since the time of APL [5] it has been recognized that a programming model which provides operations directly on data structures can be very convenient. The data parallel programming model =-=[10]-=- is an exponent of this style (albeit often with a close connection to some underlying parallel architecture providing support for these operations). Modern array- and data parallel languages like For... |

176 | Implementation of a portable nested data-parallel language
- Blelloch, Chatterjee, et al.
- 1993
(Show Context)
Citation Context ...se connection to some underlying parallel architecture providing support for these operations). Modern array- and data parallel languages like Fortran 90 [3], High Performance Fortran (HPF) [7], NESL =-=[2]-=-, and Sisal [6, 17] provide support, as well as many functional languages which have a rich set of list operations corresponding to the array- and data parallel operations. Most of these languages hav... |

97 |
4 report on the Sisal language project
- Feo, Cann, et al.
- 1990
(Show Context)
Citation Context ...o some underlying parallel architecture providing support for these operations). Modern array- and data parallel languages like Fortran 90 [3], High Performance Fortran (HPF) [7], NESL [2], and Sisal =-=[6, 17]-=- provide support, as well as many functional languages which have a rich set of list operations corresponding to the array- and data parallel operations. Most of these languages have in common, though... |

40 |
Crystal: Theory and Pragmatics of Generating Efficient Parallel Code
- Chen, Choo, et al.
- 1991
(Show Context)
Citation Context ...ng a more exact definition of data fields and their operations we will develop the more abstract model of indexed data structures as partial functions. The term "data fields" is borrowed fro=-=m Crystal [4]. 2 Partial Function-=-s We use the following representation of partial functions. "Calls" to a partial function falling "out of bounds" return a distinguished error value . Semantically this is a total,... |

30 |
On the relation between functional and data-parallel programming languages, in
- Lisper, Hammarlund
- 1993
(Show Context)
Citation Context ...ver a wide range of structures, which is flexible, expressive and not boxed in by the idiosyncrasies of a certain kind of structure. Some papers on the data field model have been published. The early =-=[9]-=- gives an account of the data-structure-as-partial-function view and uses an informal metalanguage for partial functions to define common operations on data structures as operations on partial functio... |

30 |
Femke van Raamsdonk. Combinatory reduction systems: introduction and survey
- Klop, Oostrom
- 1993
(Show Context)
Citation Context ... to the laws for explicit restriction in Sect. 2.2. The semantics of '-abstraction over a given host language is given as a higher order rewrite system \Phi(R) (a Combinatory Reduction System, or CRS =-=[11, 12]-=-). R is a CRS which gives semantics for the host language in question. \Phi(R) consists of a number of reduction rules of the form '~x:t ! (~x:t; B(t; ~x; ;)) for all t such that B(t; ~x; ;) is define... |

15 |
Data parallelism and functional programming
- Lisper
- 1996
(Show Context)
Citation Context ...eloped, which can find the domain of definition for certain recursively defined partial functions. A tutorial on the early data field model of indexed data structures as partial functions is found in =-=[13]-=-. This position paper gives a short account for the present data field model which is presented in full detail in [15]. 1.1 Operations on indexed data structures Which operations on indexed data struc... |

12 |
The design of apl
- Falkoff, Iverson
- 1975
(Show Context)
Citation Context ...atter is when solving partial differential equations (PDE's), where the index is closely related to a physical coordinate, in image and signal processing, and in linear algebra. Since the time of APL =-=[5]-=- it has been recognized that a programming model which provides operations directly on data structures can be very convenient. The data parallel programming model [10] is an exponent of this style (al... |

12 | Extent Analysis of Data Fields
- Lisper, Collard
- 1994
(Show Context)
Citation Context ...an account of the data-structure-as-partial-function view and uses an informal metalanguage for partial functions to define common operations on data structures as operations on partial functions. In =-=[14]-=- an abstract interpretation called extent analysis is developed, which can find the domain of definition for certain recursively defined partial functions. A tutorial on the early data field model of ... |

6 |
Programmer's Guide to FORTRAN 90. Programming Languages
- Brainerd, Goldberg, et al.
- 1990
(Show Context)
Citation Context ...xponent of this style (albeit often with a close connection to some underlying parallel architecture providing support for these operations). Modern array- and data parallel languages like Fortran 90 =-=[3]-=-, High Performance Fortran (HPF) [7], NESL [2], and Sisal [6, 17] provide support, as well as many functional languages which have a rich set of list operations corresponding to the array- and data pa... |

2 |
Steele Jr. Data parallel computers and the forall statement
- Albert, Lukas, et al.
- 1991
(Show Context)
Citation Context ...d form of notation "quantifies" over a given range of indices, e.g., in Sisal, for i in 1,n returns array of X[i]+Y[i] adds X and Y elementwise for the indices 1 to n. The imperative FORALL =-=statement [1] in HPF is-=- very related. 1.2 The Data Field View of Indexed Data Structures Data fields are pairs (f; b) where f is a function and the "bound" (or shape) b is an entity that can be interpreted as a pr... |

2 | Towards Polymorphic Type Inference with Elemental Function Overloading. Licentiate thesis, Dept. of Teleinformatics - Thornberg - 1999 |

1 |
An experimental implementation of a highly abstract model of data parallel programming
- Hal'en, Hammarlund, et al.
- 1997
(Show Context)
Citation Context ...um, u and t are given in [15]. For a simple case, see Fig 2. 4 Ongoing Work Our work so far has mainly consisted of the formulation of abstract models. Besides a small early implementation experiment =-=[8]-=-, little implementation work has been done. We are currently investigating the possibility to extend Haskell with data fields. This choice of host language is motivated by the possibility to do much o... |