| Lambert Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992. |
....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) ....
.... = FMap A FMap B V : FMap A V FMap B V FMap = FMap A FMap B V : FMap A (FMap B V ) FMap c of = FMap A V : FMap A V : Some inductive de nitions, such as the de nition of Label , also use the argument types themselves in their right hand sides. Such functions are called paramorphisms [29], and are characterized by: parah1i = para 1 parahChar i = para Char parahT 1 T 2 i = para T 1 T 2 (parahT 1 i) parahT 2 i) parahT 1 T 2 i = para T 1 T 2 (parahT 1 i) parahT 2 i) parahc of T 1 i = para c of T 1 (parahT 1 i) Fortunately, every paramorphism can be transformed into ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-425, 1992.
....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 (single a (a, v) empty b ) single a : b (Inr b, v) Pair (empty a ) single b (b, v) ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--425, 1992.
....If it can be proven that C equals D, then C is known to be a correct solution to the problem too. This paper is only a start in the study of inverses. Some other problems that could be studied are the following. ffl Can we characterize the inverses of paramorphisms and apomorphism Meertens [Mee92] has shown that every paramorphism [ can be written as preds (j j) where preds is [ in ThetaF ] so it is easy to see that Inv ( db(I nv ( ec 9 Pi Inv (preds) Therefore this question can be simplified to: what is the inverse of preds ffl Suppose a law (T,T ) holds on the ....
Lambert Meertens. Paramorphisms. Formal Aspects of Computing, 4:413--424, 1992.
....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) ....
.... = #FMap A FMap B V . FMap A V FMap B V FMap = #FMap A FMap B V . FMap A (FMap B V ) FMap c of = #FMap A V . FMap A V . Some inductive definitions, such as the definition of Label , also use the argument types themselves in their right hand sides. Such functions are called paramorphisms [28], and are characterized by: para#1# = para 1 para#Char# = para Char para#T 1 T 2 = para T 1 T 2 (para#T 1 para#T 1 = para T 1 T 2 (para#T 1 para#c of T 1 = para c of T 1 (para#T 1 #) Fortunately, every paramorphism can be transformed into a catamorphism by tupling ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--425, 1992.
....for sy (Star sy ) the fold function is recursively called for the subcomponents (sy in the example) The results are passed to the corresponding algebra member (i.e. star) The member is looked up via record component selection (cf. star alg . In fact, since we are using paramorphic folds [51], we also pass the original term sy to the fold member. The fold algebra type and the fold function can be reused. In fact, they can also be generated. Generalized folds support separation of concerns, and reuse of the traversal scheme. 26 data Monad m = FoldAlg gr pr re st m = FoldAlg ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-424, 1992. 25 REFERENCES 59
....combinator. This scheme is a unification of a number of particular generic and specific recursion schemes. The product comonad, for example, gives us the asymmetric form of mutual iteration (zygomorphisms, 2] including the most important special case, primitive recursion (paramorphisms, [3]) The generalized stream comonad gives course of value iteration (histomorphisms, 1] and an interesting generalization permitting, for instance, recursive calls of the definiendum on rearrangements of recursive components of the given argument value. Another type of comonad giving rise to ....
L Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
.... complete results for when an arbitrary arrow can be written directly as a fold or unfold, for the special case of the category SET.In future work we will investigate whether the results can be generalised to other categories, and to other patterns of recursion, such as primitive (co )recursion [19,22] and course of value (co )iteration [23] As well as being interesting from a theoretical point of view, we also expect the results to have practical applications in program optimisation. A well structured program is typically factored into several phases, each phase generating a data structure ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
....eld where we expect that type indexed data types will be useful is generic DTD transformations [22] We think 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 [23, 2, 26, 8, 15] were introduced back in the nineties. There exist other approaches to type indexed functions, see Dubois et al. [7] Jay et al. [20] and Yang [33] but none of them mentions user de ned type indexed data types. Type indexed data types appear in the work on intensional type analysis [9, 6, 5, 30, ....
....V FMap Char = V : FMapTChar V FMap = FMap A FMap B V : FMap A V FMap B V FMap = FMap A FMap B V : FMap A (FMap B V ) Some inductive de nitions, such as the de nition of Label , also use the argument types themselves in their right hand sides. Such functions are called paramorphisms [26], and are characterized by: parah1i = para 1 parahChari = para Char parahT1 T2i = para T1 T2 (parahT1i) parahT2 i) parahT1 T2 i = para T1 T2 (parahT1i) parahT2i) Fortunately, every paramorphism can be transformed into a catamorphism by tupling it with the identity. Likewise, ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-425, 1992.
....an FProd F algebra A = A; is the unique morphism f : F A such that f in F = F h f; id F i F F F h f;id F i ## in F ## F f ## F (A F ) ## A meaning that f is what is usually called the F paramorphism of and written hj ji F . Paramorphisms, as introduced by Meertens [1992], are functions de ned by primitive recursion. Primitive recursion is equivalent to semi mutual iteration where the auxiliary function is the identity function (described as a copying function) Example 11. Given an F distributive endofunctor H = H; let us now study the F distributive ....
Meertens, L. 1992. Paramorphisms. Formal Aspects of Computing 4, 5, 413-424.
....F: I X) F: I 4 I) F: I 4X) We have applied this so called 4 fusion law in order to make the plumbing the term F: I 4 I) explicit. A de nition of this form is called primitive recursive. This generic formulation of primitive recursion was introduced (for functions) by Meertens [21]. He called such an equation a para equation and a solution to the equation a paramorphism. Among the results he established three are worthy of note. The rst is that paramorphisms are universal in the sense that every function with source the carrier of an initial algebra can be expressed as a ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-424, 1992.
....5. The categorical view of datatypes, which underlies this research area, dates back to the ADJ group [5] and more recently, to the contributions of T. Hagino [7] and G. Malcolm [12] The relevance of universal properties to program derivation was first recognized by Backhouse in [3] References [14,13] and [16] introduce the recursion functionals discussed here. Reference [4] provides a tutorial introduction. 2 Data Modeling in Camila Camila has been designed as a language for rapid prototyping of modeloriented specifications. and resembles a centenary notation of naive set the ory, ....
....natural numbers (cf. F Nat ) such a pattern is known as primitive recursion. In the general case, this can be captured by considering the application of F to the product of the result with the inductive type as the source of f . This smooth generalization of the cata recursion pattern is due to [13] and known as a paramorphism. It is defined in the following diagram C F (C Theta T ) f oo T par F f OO F T F hpar F f;idi in F oo which entails the following universal property h = par F f ( h Delta in F = f Delta F hh; idi The usual factorial function arises by suitable ....
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--425, 1992.
....F algebra A = A; we have a unique f : F A in such that f in F = Ff F F Ff ## in F ## F f ## FA ## A In the constructive algorithmics community, this f is commonly called the F catamorphism or F fold of and written (j j) F . The name catamorphism was coined by Meertens [1992]. The relation of initial algebras to inductive types is the following. The endofunctor represents a signature. The initial algebra models the inductive type: both the type as a pure container and the constructors that structure it. Catamorphisms, witnesses of initiality, correspond to ....
....an FProd F algebra A = A; is the unique morphism f : F A such that f in F = F h f; id F i F F F h f;id F i ## in F ## F f ## F (A F ) ## A meaning that f is what is usually called the F paramorphism of and written hj ji F . Paramorphisms, as introduced by Meertens [1992], are functions de ned primitive recursion. Primitive recursion is equivalent to one way mutual iteration where the auxiliary function is the identity function (speci ed as a copier) Example 11. Given an F distributive endofunctor H = H; let us now study the F distributive comonad Str H ....
Meertens, L. 1992. Paramorphisms. Formal Aspects of Computing 4, 5, 413-424.
....languages both natural and expressive enough to be of practical interest has been the impetus behind most work in virtual data structure elimination to date. This search has not only led to the development of calculation based program transformations (e.g. Fok92] Jeu93] Draft, June 22, 1998 8 [Mee92], Mei92] but has inspired more general work on fold unfold transformations as well (see, e.g. Amt92] San94] Those investigations which have most directly impacted the development of the warm fusion method are described in the next subsections. 2.2 Listlessness and Deforestation Wadler s ....
....and Calculation based Programming In the middle 1980 s and early 1990 s, a new style of programming that would later heavily influence future work in virtual data structure elimination was developed. The calculational style of programming, first introduced by Bird and Meertens ( Bir97] Mee86] [Mee92], stresses calculating programs via algebraic identities over list programs in much the same manner that high school students calculate with the laws of algebra. Inherent in the calculational style are techniques for transforming clear but inefficient programs into ones which use resources ....
L. Meertens. Paramorphisms. Formal Aspects of Computing 4:5 (1992), pp. 413 -- 424.
No context found.
Lambert Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
No context found.
Lambert Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
No context found.
L. Meertens, Paramorphisms, Formal Aspects of Computing 4 (5) (1992) 413-- 424.
No context found.
L. Meertens, Paramorphisms, Formal Aspects of Computing 4 (5) (1992) 413-- 425.
No context found.
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4:413--424, 1992.
No context found.
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1990.
No context found.
Lambert Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
No context found.
Lambert Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
No context found.
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--425, 1992.
No context found.
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-425, 1992.
No context found.
L. Meertens, Paramorphisms, Formal Aspects of Computing 4 (5) (1992) 413-- 425.
No context found.
L. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413-425, 1992.
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