Lecture overview -- Keyboard shortcut: 'u'  Previous page: Overview of the imperative paradigm -- Keyboard shortcut: 'p'  Next page: Overview of the logic paradigm -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Help page about these notes  Alphabetic index  Course home  Lecture 1 - Page 6 : 8
Functional Programming in Scheme
Programming Paradigms
Overview of the functional paradigm

Evaluate an expression and use the resulting value for something

  • Characteristics:

    • Discipline and idea

      • Mathematics and the theory of functions

    • The values produced are non-mutable

      • Impossible to change any constituent of a composite value

      • As a remedy, it is possible to make a revised copy of composite value

    • Atemporal

      • Time only plays a minor role compared to the imperative paradigm

    • Applicative

      • All computations are done by applying (calling) functions

    • The natural abstraction is the function

      • Abstracts a single expression to a function which can be evaluated as an expression

    • Functions are first class values

      • Functions are full-fledged data just like numbers, lists, ...

    • Fits well with computations driven by needs

      • Opens a new world of possibilities