Results 1 
6 of
6
Data Parallel Programming: A Survey and a Proposal for a New Model
, 1993
"... We give a brief description of what we consider to be data parallel programming and processing, trying to pinpoint the typical problems and pitfalls that occur. We then proceed with a short annotated history of data parallel programming, and sketch a taxonomy in which data parallel languages can be ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We give a brief description of what we consider to be data parallel programming and processing, trying to pinpoint the typical problems and pitfalls that occur. We then proceed with a short annotated history of data parallel programming, and sketch a taxonomy in which data parallel languages can be classified. Finally we present our own model of data parallel programming, which is based on the view of parallel data collections as functions. We believe that this model has a number of distinct advantages, such as being abstract, independent of implicitly assumed machine models, and general.
Haxcel: A Spreadsheet Interface to Haskell
 Pages 206–222 of: 14th Int. Workshop on the Implementation of Functional Languages
, 2002
"... Abstract. The spreadsheet paradigm offers a fast interactive loop, where the effects of updates to definitions and data are immediately visible. This makes the paradigm attractive for program development, where redefinitions can be immediately tested and the results displayed. We have designed a sim ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract. The spreadsheet paradigm offers a fast interactive loop, where the effects of updates to definitions and data are immediately visible. This makes the paradigm attractive for program development, where redefinitions can be immediately tested and the results displayed. We have designed a simple, compilerindependent spreadsheet interface to Haskell, where cells host Haskell definitions. Spreadsheets are also used for highlevel array calculations. In order to meet that demand we have designed and implemented an extended array library for Haskell, which provides a number of typical arraylanguage facilities. Together, the interface and the array library provide an interactive environment that can be used both for development of general Haskell code and for arrayoriented spreadsheet calculations.
Data Fields
 In Proc. Workshop on Generic Programming, Marstrand
, 1998
"... 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 individu ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
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.
The Data Field Model
 Coyne R D, Rosenman M A, Radford A D, Balachandran M and Gero J S Knowledgebased
, 2001
"... Indexed data structures are prevalent in many programming applications. Collectionoriented languages provide means to operate directly on these structures, rather than having to loop or recurse through them. This style of programming will often yield clear and succinct programs. However, these prog ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Indexed data structures are prevalent in many programming applications. Collectionoriented languages provide means to operate directly on these structures, rather than having to loop or recurse through them. This style of programming will often yield clear and succinct programs. However, these programming languages will often provide only a limited choice of indexed data types and primitives, and the exact semantics of these primitives will sometimes vary with the data type and language. In this paper we develop a unifying semantical model for indexed data structures. The purpose is to support the construction of abstract data types and language features for such structures from first principles, such that they are largely generic over many kinds of data structures. The use of these abstract data types can make programs and their semantics less dependent of the actual data structure. This makes programs more portable across different architectures and facilitates the early design phase. The model is a generalisation of arrays, which we call data fields: these are functions with explicit information about their domains. This information can be conventional array bounds but it could also define other shapes, for instance sparse. Data fields can be interpreted as partial functions, and we define a metalanguage for partial functions. In this language we define abstract versions of collectionoriented operations, and we show a number of identities for them. This theory is used to guide the design of data fields and their operations so they correspond closely to the more abstract notion of partial functions. We define phiabstraction, a lambdalike syntax for defining data fields in a shapeindependent manner, and prove a theorem which relates phiabstraction and lambdaabstraction semantically. We also define a small data field language whose semantics is given by formal data fields, and give examples of data field programming for parallel algorithms with arrays and sparse structures, database quering and computing, and specification of symbolic drawings.
Data Field Haskell
, 1999
"... . Data fields provide a flexible and highly general model for indexed collections of data. Data Field Haskell is a Haskell dialect that provides an instance of data fields. It can be used for very generic collectionoriented programming, with a special emphasis on multidimensional structures. We ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
. Data fields provide a flexible and highly general model for indexed collections of data. Data Field Haskell is a Haskell dialect that provides an instance of data fields. It can be used for very generic collectionoriented programming, with a special emphasis on multidimensional structures. We give a brief description of the data field model and its underlying theory. We then describe Data Field Haskell, and an implementation. 1 Introduction Indexed data structures are important in many computing applications. The canonical indexed data structure is the array, but other indexed structures like hash tables and explicitly parallel entities are also common. In many applications the indexing capability provides an important part of the model: when solving partial differential equations, for instance, the index is often closely related to a physical coordinate, and explicitly parallel algorithms often use processor ID's as indices. Since the time of APL [5] it has been recognised ...
Elemental Function Overloading in Explicitly Typed Languages
"... . Elemental intrinsic overloading is used successfully in vector parallel and data parallel programming languages. It allows scalar operators to be applied to arguments of array type, where the semantics is a new array where every element is the result of applying the operator to the correspondi ..."
Abstract
 Add to MetaCart
(Show Context)
. Elemental intrinsic overloading is used successfully in vector parallel and data parallel programming languages. It allows scalar operators to be applied to arguments of array type, where the semantics is a new array where every element is the result of applying the operator to the corresponding elements of the argument array. This type of overloading makes programs with extensive use of array operations easier to read, write and maintain. However, it is typically restricted to allow overloading only of builtin functions and defined only for operators on one parallel data type, mostly arrays. In order to extend this feature to a larger class of languages, we propose elemental function overloading together with a polymorphic type discipline. Elemental function overloading, which is defined for all functions, also incorporates promotion of "scalar" values. In this paper we formalize the concept of elemental functional overloading in an explicitly typed polymorphic languag...