| G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990. |
....that type indexed data types will also be useful for generic DTD transformations [25] Generally, we believe that type indexed data types are just as important as type indexed functions. Background and related work. There is little related work on type indexed data types. Type indexed functions [26, 2, 29, 9, 18] were introduced more than a decade ago. There are several other approaches to type indexed functions, see Dubois et al. [8] Jay et al. [22] and Yang [36] but none of them mentions user de ned type indexed data types (Yang does mention value indexed types, usually called dependent types) ....
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255-279, 1990.
....and constructor cases of function single. The dependency shows in the type of the function single: on higher order kinds, the type mentions the type of empty . type Single [#] t = type Single [# Single [#] a Single [#] t a) Plain generic functions can be seen as catamorphisms [38, 42] over the structure of data types. With dependencies, we also get the power of paramorphisms [40] single t : # : Single [#] t single Unit (Unit , v) Just v single Char (c, v) c, v) single Int (i , v) Patricia.single (i , v) single a : b (Inl a, v) Pair ....
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
....Thus, a calculation carrying program is not just means to show how to solve a problem, but also to showhowtoachieve improvement. Program Calculation Program calculation is a kind of program transformation based on the theory of Constructive Algorithmics (also known as Bird Meertens Formalisms) [Bir87, Mal90, MFP91, Fok92, Bac95], which is a program calculus for program derivation. In Constructive Algorithmics, calculation is a series of applications of calculational laws (i.e. rules) that describe some properties of programs. Theorems may be used to capture larger steps in calculation in which there is ample opportunity ....
G. Malcolm. Data structures and program transformation. Science of Computer Programming, (14):255--279, August 1990.
....that type indexed data types will also be useful for generic DTD transformations [24] Generally, we believe that type indexed data types are just as important as type indexed functions. Background and related work. There is little related work on type indexed data types. Type indexed functions [25, 2, 28, 8, 17] were introduced more than a decade ago. There are several other approaches to type indexed functions, see Dubois et al. [7] Jay et al. [21] and Yang [36] but none of them mentions user defined type indexed data types (Yang does mention value indexed types, usually called dependent types) ....
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
....the sentence of which the rose tree is a derivation. Funcion sen is defined by sen (Node a x) sen x) sen (Leaf b) b] It follows that sen dt = v v. Catamorphisms on Rose Trees For every recursive datatype we can define a function which recursively replaces constructors by functions [6]. By definition, a catamorphism on the datatype Rosetree is a function h : Rosetree a b c that is uniquely determined by functions f and g as follows. h (Node a x) f a (h x) h (Leaf b) g b For such a function h we write h = RT cata f g The function sen defined above is a catamorphism, ....
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
....while for F: Tree we get a program for trees, and so on. Well known examples of such polytypic building blocks are the initial algebra for F (assuming F is such that an initial algebra exists) in F : F FF and the catamorphism combinator: f ] F : a F ( f : a Fa For more details, see [7] or [1] A previous paper [8] defined a crush combinator hh Phiii F : a F ha; a; ai ( Phi : a a Theta a for all regular F , giving a generic way to reduce data structures with a binary operation. In this paper we define a generalization of crush, and present some examples. Further ....
.... F DeltaId Gamma(F ) For example, List = L, where Lha; bi = a Thetab ) 1, with initial algebra in : List a (a Theta List a) 1 Putting cons = in ffi inl, nil = in ffi inr, we have cons : List a a Theta List a nil : List a 1 Conversely, in = cons 5 nil. For further details, consult [7] or [1] A grammar for regular functors A functor built only from 1, Ex, Theta, Gamma, Delta and is called a regular functor. A formal context free grammar for the n ary regular functors is: 1 n ary constant functor j Ex i projection, i = 0; n Gamma 1 j j Theta (only ....
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2--3):255--279, 1990.
.... framework for reasoning algebraically about programs and is the basis for current developments in generic programming (see e.g. 2, 19] In this section we review the relevant concepts around the categorical approach to recursive types [23, 25, 21] and its application to program calculation [24, 27, 11, 22, 5, 16]. The category theoretic explanation of (recursive) types is based on the idea that types constitute objects of a category C, programs are modelled by arrows of the category, and type constructors are functors on C. In this setting, a datatype T is understood as a solution (a fixed point) of a ....
G. Malcolm. Data Structures and Program Transformation. Science of Computer Programming, 14:255--279, 1990.
....using a fold. Note that this implies that reductions are in a sense more general than folds. They are, however, also less general since, for instance, mapping functions on regular functors can be defined using folds, but cannot be expressed in the form of a crush. Thus, reductions [15] and folds [14] are different, incomparable generalizations of the classic reduction operator ( on join lists [5] For a more detailed comparison we refer the interested reader to [15] To define a reduction we require two ingredients: a value e : a and a binary operation op : D a a. Usually but not ....
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2--3):255--280, 1990.
....system that combines both approaches. In a di#erent context, the definition of recursive datatypes as least fixpoints of pattern functors and the calculating properties that can be obtained by means of folds or catamorphisms led to a complete discipline which could be named as generic programming [39,40,3]. Following that approach, L. Duponcheel proposed the combined use of folds or catamorphisms with modular monadic semantics [9] allowing the independent specification of the abstract syntax, the computational monad and the domain value. Monadic catamorphisms were studied in [11,19] and applied to ....
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
....generalizations and elegant reasoning at the same time. While set theoretic accounts of query optimization dominate the field of research by far, others have paved the way for a categorical model of queries [BNTW95, Won94] b) There exists an extensive theory, the Constructive Algorithmics [Fok92, Gra90, Bir89], on the transformation of programs that were built from a small set of combining forms. This theory understands programs as objects that are subject to calculation just like numbers in arithmetic. Core query transformations are established through calculation with programs. c) Type theory, ....
Malcolm Grant. Data Structures and Program Transformation. Science of Computer Programming, 14:255--279, 1990.
.... by Maurice van Keulen [11] The categorical approach to program construction originates from work by Bird and Meertens since 1987, and later Backhouse and his team; the approach is described in a semi formal setting by Meijer et al. 14] and more formally in a series of PhD theses by Malcolm [12, 13], Fokkinga [7, 5, 6, 8] de Moor [15] Jeuring [10] Recently Grust [9] 10 has followed this approach for studying query optimisation, and a categorical theory for Moa will have close connection with his work. The categorical approach to programming has by now evolved to generic programming [1] ....
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2--3):255--280, September 1990.
No context found.
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2--3):255--280, September 1990.
No context found.
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
No context found.
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
No context found.
G. Malcolm, Data structures and program transformation, Science of Computer Programming 14 (1990) 255--279.
No context found.
G. Malcolm, Data structures and program transformation, Science of Computer Programming 14 (1990) 255--279.
No context found.
G. Malcolm. Data Structures and Program Transformation. Science of Computer Programming, 14:255--279, 1990.
No context found.
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
No context found.
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
No context found.
G. Malcolm. Data Structures and Program Transformation. Science of Computer Programming, 14:255-- 279, 1990.
No context found.
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255-279, 1990.
No context found.
G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2--3):255--280, September 1990.
No context found.
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14(2--3):255--279, October 1990.
No context found.
G. Malcolm, Data structures and program transformation, Science of Computer Programming 14 (1990) 255--279.
No context found.
Grant Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255--279, 1990.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC