6.6  lambda, the ultimate

Syntax: (lambda (variable ...) expression)

Syntax examples:

;1:
(lambda (i) i)
2: 
(lambda (i j) (> i j))
3: 
(define f (lambda (i) (+ (* 10 i) 3))) ; cmp. with:
(define (f i) (+ (* 10 i) 3))

Semantics: lambda creates a function without name

Semantics examples:

;1: consume a value and produce the very same value 
(lambda (i) i)
2: consume two numbers; check whether the first is larger than the second
(lambda (i j) (> i j))
3: consume a number, turn into string, prefix with "cell"
(lambda (i) (string-append "cell" ( number string i)))