Functional Programming

Bas Bossink

April 2010

Contents

Introduction

Definition

Definition of a Function

Example

Non-example

Definition of a Function

History

Taxonomy

Taxonomy

Taxonomy

Features

Features

Funtional concepts

Computation Expressions (Monads)

Category

Functor

Monad

Monads

class Monad m where
    (>>=) :: m a -> (a -> m b) -> m b
    return :: a -> m a

instance Monad [] where
    return x = [x]
    xs >>= f = concat (map f xs)

When to use it?

When not to use it?

Resources

Labs