| D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Fakultat fur Informatik, Universitat Ulm, Germany, Januar 1996. |
....F ffi F unit = id F Gcounit ffi unit G = id G 2 15 2.3 Category theory and functional programming There is a strong correspondence between category theory and functional programming. Many concepts of category theory have a more or less direct translation into a functional language concept [Tui95, Fok92] A category that can be used to model Gofer is CPO , which can be described as follows. Objects: Types (or actually: complete partially ordered sets with a least element ) Arrows: Typed continuous strict functions, where the codomain of a function is its target type and the domain is ....
....are interested in. First the category theoretical definition of monads and some standard results will be given. Then it will be shown how monads are used in functional programming, as was explained by Wadler [Wad92, JW93] These two views are related. For a proof of this see for example Tuijnman [Tui95] 4.1 Monads in category theory In category theory a monad is defined in the following way. Definition 4.1.1 A monad over category C is a triple (M , j) where M is an endofunctor over C and 2 M Gamma MM and j 2 M Gamma Id are natural transformations, satisfying the following monad ....
[Article contains additional citation context not shown here]
Daniel Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Universitat Ulm, Fakultat fur Informatik, Abteilung Programmiermethodik und Compilerbau, Germany, December 1995.
....8T : 8A;B : A B) T (A) T (B) Notice that the notion of polytypy is completely orthogonal to the concept of polymorphism, since every instance of the family of polytypic map functions is polymorphic. Many interesting polytypic functions have been identified and described in the literature [10, 11, 15 17, 25, 27], and concepts from category theory have proven especially suitable for expressing polytypic functions and reasoning about them. In this approach, datatypes are modeled as initial objects in categories of functor algebras [14] and polytypic constructions are formulated using initiality without ....
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Universitat Ulm, 1996.
....acts on elements of the Kleisli category. We call such a construction a monadic extension of F . In the particular case that F is a regular functor, we see that a monadic extension b F can be defined by induction on the structure of F . Analogous definitions to the given here can be found in [8, 12, 36]) We present also the main properties that monadic extensions satisfy (see [32] for further details) The usefulness of monadic extensions will become clear in Section 5, when we address the definition of recursive operators that represent functions with effects. There, we will see that some ....
....functor F = A Theta Gamma has a lifting with ffi F given by the strength. The same holds for F = Gamma Theta A, where ffi F is given by the dualization of the strength. The conditions of Theorem 4. 1 can be generalized for multiary functors F : C n C in a straightforward manner (see [36, 32]) The following proposition uses that generalization. Proposition 4.3 Let category C be cartesian. Let M be a commutative monad. Then, the product functor Theta : C Theta C C has a lifting with ffi Theta (A;B) A;B . Another lifting of the product can be obtained by using the ....
[Article contains additional citation context not shown here]
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Fakultat fur Informatik, Universitat Ulm, Germany, January 1996.
....have membership. Then any lax natural transformation F G is strong. We find this fact quite remarkable, as it shows that all conditions regarding strong functors in the literature are vacuously satisfied. In particular, we obtain that any monad (on a on a container type) is strong. Tuijnman (Tuijnman, 1996) studies strength in the context of program derivation. It seems likely that at least some of his proofs can be simplified using the results presented here, but we have not investigated this in any detail. 7 Conclusions To sum up, we propose the following Definition A container type is a ....
Tuijnman, D. (1996). A categorical approach to functional programming. Ph.D. thesis, Department of Computer Science, University of Ulm, Germany.
....for Mendler style coinductive types. The extra conditions of this paper are not ad hoc, they are, in fact, dinaturality conditions for transformations in derived categories, hence their truth can often be taken for granted ( free theorems ) the more exact implications of works on dinaturality [BFSS90,Fre93,Tui95] for our work is a subject of further investigation. A specifically nice feature of Mendler style inductive types from the programming perspective is that the map function (or the comap and map pair of functions) corresponding to the type constructor is not mentioned manifestly in the fi ....
Daniel Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Abt. Programmiermethodik und Compilerbau, Fakultat fur informatik, Universitat Ulm, December 1995.
....that the notion of polytypy is completely orthogonal to the concept of polymorphism, since every instance of the family of polytypic map functions is polymorphic. Many interesting polytypic functions have been identified and described in the literature [Mee92, She93, MFP91, Jeu95, JJ96, Mee96, Tui96] and concepts from category theory have proven to be especially suitable for expressing polytypic functions and reasoning about them. In this approach, datatypes are modeled as initial objects in categories of functor algebras [Mal90] and polytypic constructions are formulated using initiality ....
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Universitat Ulm, 1996.
....Now we study how to proceed with functors on C in order to lift them to the monadic world. For every functor F we derive a construction b F that acts on elements of the Kleisli category. In particular, we show an inductive definition of b F when F is regular, analogous to those presented in [5,7,27]. In addition, we give a brief account of properties satisfied by b F . A more complete presentation can be found in [23] The monadic extension b F : CM CM of a functor F : C C is a construction such that: on objects b FA = FA, since recall that the objects of CM and C coincide; and when ....
....Let C be a category with product and coproduct such that every regular functor on it has an initial algebra. Let M be a commutative monad. Then, all regular functors have a lifting. Pardo The proof consists of the verification of equations (8) and (9) for all ffi 0 s in Definition 4. 5 (see [27,23]) The proofs for the product and sum functors are given by Propositions 4.3 and 4.4. Note that commutativity is only required for the product functor. We can achieve weaker results if we eliminate this assumption. Proposition 4.9 Let C be as above. Let M be a strong monad. Then, i) The ....
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Fakultat fur Informatik, Universitat Ulm, Germany, Januar 1996.
....lax natural transformation ff : G F is strong. As said before, we find this fact quite remarkable, as it shows that all conditions regarding strong functors in the literature are vacuously satisfied. In particular, we obtain that any monad (on a functor that has membership) is strong. Tuijnman [19] studies strength in the context of program derivation. It seems likely that at least some of his proofs can be simplified using the results presented here, but we have not investigated this in any detail. 8 Conclusions To sum up, we propose the following Definition A data type is a relator ....
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Department of Computer Science, University of Ulm, Germany, 1996.
No context found.
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Fakultat fur Informatik, Universitat Ulm, Germany, Januar 1996.
No context found.
D. Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Universitat Ulm, 1996.
No context found.
Daniel Tuijnman. A Categorical Approach to Functional Programming. PhD thesis, Universitat Ulm, Fakultat fur Informatik, Abteilung Programmiermethodik und Compilerbau, 1995.
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