          Lecture 2 - Page 8 : 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
 Arithmetic expressions We will here point out that arithmetic expressions are written as fully parenthesized expressions with prefix notation
 Scheme uses fully parenthesized arithmetic expressions with prefix notation
 Using prefix notation the operator is given before the operands

Prefix notation stands as a contrast to infix and postfix notation. Infix notation is 'standard notation' in which the operand is found in between the operands.

 Expression Value `(+ 4 (* 5 6))` `34` ```(define x 6) (+ (* 5 x x) (* 4 x) 3)``` `207` `(/ 21 5)` `21/5` `(/ 21.0 5)` `4.2` ```(define (fak n) (if (= n 0) 1 (* n (fak (- n 1))))) (fak 50)``` ```30414093201713378043612608166064768 844377641568960512000000000000```

Examples of arithmetic expressions. The prefix notation can be seen to the left, and the values of the expressions appear to the right.

 There is no need for priorities - operator precedence rules - of operators in fully parenthesized expressions

 Foldoc: prefix notation