Special Topics in Software Engineering:

Advanced Functional Programming

339.326 2KV Horvath Block Begin: 26.5.2010

The main topics of the course are advanced type concepts of functional programming languages and generic programming. Advanced type systems raise the level of abstraction of the language, improve code quality, while type cheking helps to decrase the probability of programming errors. Functional programming languages contain special concepts, i.e. higher order types and type constuctor classes, uniqness types, dynamics, use the concept of kinds and support generics. Examples are shown in the programming language Clean.


Prof. Dr. Zoltan Horvath
Eötvös Lorand University Budapest, Hungary
Head of the Department of Programming Languages and Compilers


Date Time Room
We 26.5.2010 15:30 - 18:00 HS 11
Th 27.5.2010 15:30 - 18:00 HS 14
Fr 28.5.2010 13:45 - 16:45 HS 14
Mo 31.5.2010 15:30 - 18:00 HS 13
Tu 1.6.2010 15:30 - 18:00 MT 128


  1. Algebraic types and type classes
  2. Higher order types, type constructor classes
  3. Existential types
  4. Uniqness types, Object IO in Clean, processes
  5. Generics
  6. Dynamics


Students will have to do a project and send it to the lecturer. The marks for this course will be based on the project.


  1. Plasmeijer, R.- Eekelen, M.: Clean Language Report 2.0,

  2. Plasmeijer, R. et al: Functional Programming in Clean.

  3. Artem Alimarine and Rinus Plasmeijer. A Generic Programming Extension for Clean.
    In: Arts, Th., Mohnen M., eds. Proceedings of the 13th International Workshop on the Implementation of Functional Languages, IFL 2001, Selected Papers, Älvsjö, Sweden, September 24-26, 2001, Springer-Verlag, LNCS 2312, pages 168-185.