Dear All,

I am not sure, if the attached files are allowed in the list or not.
Because of this reason, I want to send my outline attached as inline, in any case.

Thanks already now and best of regards.
Burak Ekici.

OUTLINE

Basically, the objective of this project is to use some objects and also the algebra among them (fuctors, monads, functor algebras , monad algebras), originating from Category Theory, with the help of Haskell PL to create alternative solution strategies to the problems (failure detection, purity, avoiding side-effects, ...) existing in Computer Science, particularly, in the context of functional programming.

 

1.       Category Theory - As a mathematical background

·         Categories

·         Functors

·         Natural Transformations

·         Monads

                                                 

2.       Haskell programming language

·         Basic Classifications of programming languages

·         What is Functional Programming

·         What is Haskell

·         Haskell's Type System (Static and Strong)

o   Type Signature

o   Type Variables

o   Type Classes

o   Creating new types in Haskell

o   Definition of Haskell's HASK category (Types are Objects, Functions between objects are Morphisms)

 

3.       Functors of Haskell

·         From theory to coding (theory and its representation in Haskell)

·          Proofs

o   Maybe as a functor

o   List as a functor

o   State as a functor

o   Continuation as a functor

o   Either as a functor

o    Reader as a functor

o   Writer as a functor

 

4.       Monads of Haskell

·         From theory to coding (theory and its representation in Haskell)

·         Proofs

o   Maybe as a monad -- Failure Detection

o   List as a monad -- Non Determinism

o   State as a monad -- Providing Purity

o   Continuation as a monad -- Providing Continuation

o   Either as a monad -- Exception Detection

o   Reader as a monad -- Dependency

o    Writer as a monad -- Output

o   IO as an impure monad with the help of State monad -- Avoiding Side Effects

·         Examples of monadic programming to show the advantages of each.

·         Monad Transformers of Haskell

o   MaybeT

o   ListT

o   StateT

o   Examples

 

5.       Functor Algebras  

·         Theory

o   F-Algebras

o   Initial Algebras

o   Catamorphisms

o   Paramorphisms

·         Haskell Representations (if possible)

 

6.       Monad Algebras

·         Theory

o   T-Algebra

·         Haskell Representations (if possible)

 

7.       Conclusion

 




From: ekcburak@hotmail.com
To: haskell-cafe@haskell.org
Subject: Master Thesis on Haskell
Date: Tue, 17 May 2011 15:47:19 +0000

Dear All,

I am planning to write a master thesis project on the monadic programming manner of Haskell PL.
What I want to kindly ask you is that if you have enough time and patience which can be shared with me, could you please have a quick look at the attached outline for the project I intend to write.
Your ideas and comments are valuable for me and I would be very
appreciated if you share them.

Thanks a lot and best of regards,
Burak Ekici.