          Lecture 2 - Page 24 : 46
 Functional Programming in SchemeExpressions, Types, and Functions * Lisp and Scheme Lisp Scheme * Expressions and values Expressions, values, and types Examples of expressions and their values Evaluation of parenthesized expressions Arithmetic expressions Equality in Scheme The read-eval-print loop * Types Types Type checking Static type checking An example of type checking Types in functional programming languages * Lists Proper lists Symbolic expressions and improper lists Practical list construction List functions Association lists Property lists Tables as lists of rows Programs represented as lists * Other Data Types Other simple types Vectors Strings * Definitions Definitions * Functions The function concept Lambda calculus Functions in Scheme Function objects Functions as first class values Anonymous functions Lambda expressions in Scheme Optional parameters of Scheme functions (1) Optional parameters of Scheme functions (2) Closures Function definition in Scheme Simple web-related functions (1) Simple web-related functions (2) Function exercises
 Tables as lists of rows
 It is natural to represent tables as lists of rows, and to represent a row as a list Tables play an important roles in many web documents LAML has a strong support of tables
Expression

Value

`tab1`
```(("This" "is" "first" "row")
("This" "is" "second" "row")
("This" "is" "third" "row")
("This" "is" "fourth" "row")
)```
`(show-table tab1)`
 This is first row This is second row This is third row This is fourth row
`(show-table (transpose-1 tab1))`
 This This This This is is is is first second third fourth row row row row
`(show-table (eliminate-row 2 tab1))`
 This is first row This is third row This is fourth row
`(show-table (eliminate-column 4 tab1))`
 This is first This is second This is third This is fourth

Examples of table transposing, row elimination, and column elimination. We will program and illustrate these functions in a later exercise of this material. The function show-table is similar to table-0 from a LAML convenience library. Using higher-order functions it is rather easy to program the show-table function. We will come back to this later in these notes.

 Later in this material we will study possible implementations of the function show-table