Lecture 1
LECTURE 1:
Introduction to Functional Programming in Scheme
Kurt Nørmark
Department of Computer Science, Aalborg University, Denmark
Title page
Abstract
References from this lecture
Exercises in this lecture
Source programs in this lecture
Page 1
Lisp and Scheme
Page 26
The function concept
Page 2
Lisp
Page 27
Evaluation of parenthesized expressions in Scheme
Page 3
Scheme
Page 28
Lambda Expressions in Scheme
Page 4
R5RS, R6RS, R7RS, ...
Page 29
Lambda calculus
Page 5
Expressions and values
Page 30
Function objects
Page 6
The read-eval-print loop - REPL
Page 31
Functions as first class values
Page 7
Practical Scheme Programming
Page 32
Closures
Page 8
Types
Page 33
More forms of lambda expressions in Scheme
Page 9
Types
Page 34
Function definition in Scheme
Page 10
Typing and Typecheck
Page 35
Name binding constructs
Page 11
Lists
Page 36
The
let
name binding expression
Page 12
Proper lists
Page 37
The equivalent meaning of
let
Page 13
Symbolic expressions and improper lists
Page 38
The
let*
name binding construct
Page 14
Practical list construction
Page 39
The
let*
name binding construct
Page 15
List functions
Page 40
An example with
let*
Page 16
Association lists
Page 41
The
letrec
namebinding construct
Page 17
Property lists
Page 42
An implementation of letrec
Page 18
Programs represented as lists
Page 43
Binding of free names
Page 19
Other Data Types
Page 44
Binding of free names - examples
Page 20
Other simple types
Page 45
The
fluid-let
namebinding construct
Page 21
Vectors
Page 46
Referential Transparency
Page 22
Strings
Page 47
Referential Transparency - Practical Aspects
Page 23
Definitions
Page 48
Referential Transparency
Page 24
Definitions
Page 49
More Excercises
Page 25
Functions
Generated: Friday August 13, 2021, 14:51:36