          Lecture 3 - Page 8 : 42
 Functional Programming in SchemeName binding, Recursion, Iteration, and Continuations * Name binding constructs The let name binding expression The equivalent meaning of let Examples with let name binding The let* name binding construct An example with let* The letrec namebinding construct LAML time functions * Conditional expressions Conditional expressions Examples with if Example with cond: leap-year? Example with cond: american-time Example with cond: as-string * Recursion and iteration Recursion List processing Tree processing (1) Tree processing (2) Recursion versus iteration Example of recursion: number-interval Examples of recursion: string-merge Examples with recursion: string-of-char-list? Exercises * Example of recursion: Hilbert Curves Hilbert Curves Building Hilbert Curves of order 1 Building Hilbert Curves of order 2 Building Hilbert Curves of order 3 Building Hilbert Curves of order 4 A program making Hilbert Curves * Continuations Introduction and motivation The catch and throw idea A catch and throw example The intuition behind continuations Being more precise The capturing of continuations Capturing, storing, and applying continuations Use of continuations for escaping purposes Practical example: Length of an improper list Practical example: Searching a binary tree
 LAML time functions The function how-many-days-hours-minutes-seconds is part of the LAML time library, which we here illustrate by means of a number of examples.
 Expression Value `(current-time)` `999789132` `(time-decode 1000000000)` `(2001 9 9 3 46 40)` `(time-decode 0)` `(1970 1 1 2 0 0)` `(time-interval 1000000000)` `(31 8 2 5 1 46 40)` `(weekday (current-time))` `Thursday` `(danish-week-number (current-time))` `36`

Example use of some of the LAML time library functions