Results 11 -
14 of
14
The TRANSPOSE Machine - A Global Implementation of a Parallel Graph Reducer
"... This paper describes a new concept for the parallel implementation of functional languages on a network of processors. The implementation uses a special variant of annotated graph reduction [3]. The main features of it are the following: We employ active waiting [6], to avoid complicated runtime dat ..."
Abstract
- Add to MetaCart
This paper describes a new concept for the parallel implementation of functional languages on a network of processors. The implementation uses a special variant of annotated graph reduction [3]. The main features of it are the following: We employ active waiting [6], to avoid complicated runtime data structures. We use a global address space, and a random distribution of the graph nodes over the local memories of the processors, in order to overcome the problems of load-balancing and scheduling. The reduction is organized in cycles during which, all annotated redices are reduced. This notion of "cycles" enables us, to restrict communication between the processors to the execution of a global permutation, defined by an array of messages M = [L LocalMessages \Theta P processors ]. This two dimensional (2D) permutation is realized by a simple and fast algorithm, that permutes all messages of M in 2L + 6L log(P ) steps, for any L sufficiently large. This algorithm actually maps any 2D-pe...
User Manual
"... Syntax Tree (AbsTree) - a tree structure representing a newly parsed regular expression. It is the result of the first stage of regexp compilation, with atoms converted into matcher functions. See section ??. Augmented Syntax Tree (AugTree) - result of the second stage of regexp compilation. It is ..."
Abstract
- Add to MetaCart
Syntax Tree (AbsTree) - a tree structure representing a newly parsed regular expression. It is the result of the first stage of regexp compilation, with atoms converted into matcher functions. See section ??. Augmented Syntax Tree (AugTree) - result of the second stage of regexp compilation. It is an AbsTree with leaf nodes labelled, and FirstPos, LastPos, Child Nodes and Nullable information included. See section ??. Alternation (operator) - eg "a---b", matches "a" or "b". Forms an ALT node in the AbsTree. Atom - a part of a regexp that should match an input symbol. It could be ffl a character, (or !..? construct with polymorphic regexps) ffl a character class ffl a range ffl a user defined matcher function ffl a user defined assertion It corresponds to a leaf node of an AbsTree. Assertion - a zero-width function that has to hold at a particular point in a regexp, but does not affect the actual final matched text. For instance, the prefix operator, , is an assertion that wil...
Towards Merging Recursion and Comonads
, 2000
"... Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold op ..."
Abstract
- Add to MetaCart
Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold operator on the product comonad. Both versions capture functions that require extra arguments for their computation and are related with the notion of strong datatype. 1 Introduction One of the main features of recursive operators derivable from datatype definitions is that they impose a structure upon programs which can be exploited for program transformation. Recursive operators structure functional programs according to the data structures they traverse or generate and come equipped with a battery of algebraic laws, also derivable from type definitions, which are used in program calculations [24, 11, 5, 15]. Some of these laws, the so-called fusion laws, are particularly interesting in p...
June 1995 (Revised August 1995) CSTR-95-013
"... This report is divided into two parts. The #rst part provides a tutorial introduction to Escher. In this part there are many example programs to illustrate the various language features. In particular, these example programs are meant to emphasize the signi#cant practical advantages that come from i ..."
Abstract
- Add to MetaCart
This report is divided into two parts. The #rst part provides a tutorial introduction to Escher. In this part there are many example programs to illustrate the various language features. In particular, these example programs are meant to emphasize the signi#cant practical advantages that come from integrating the best features of existing functional and logic languages. The second part contains a formal de#nition of the Escher language, including its syntax, semantics, and a description of its system modules. To make the report self-contained, an appendix summarizes the key aspects of the simple theory of types

