CS 342 Quiz on lambda abstractions 1. Write a Scheme function pay-increase that takes a list of numbers and a fraction between 0 and 1 and returns a list of numbers such that each element of the result list is one plus the fraction times the corresponding element of the original list. (You may use mapcar in your solution if you wish.) 2. What is a closure? 3. What is the closure returned by evaluating (lambda (x) (+ y x))? 4. For LISP the rule for evaluating an expression (f e1 e2 ... en) in an environment "rho" can be described as follows: evaluate e1 in rho, ..., en in rho, yielding objects o1, ..., on, then return the value of applying f to o1, ..., on by binding the formal parameters of f to o1, ..., on and evaluating the body of f. Describe a rule for Scheme like the above for evaluating (lambda (x1 ... xn) e0) in rho 5. Describe a rule for Scheme like the above for evaluating ((lambda (x1 ... xn) e0) e1 ... en) in rho. 6. Consider the following Scheme program: (set m (lambda (x y) (lambda (f) (f x y)))) (set a (lambda (z) (z (lambda (p q) p)))) (set r (lambda (z) (z (lambda (p q) q)))) What is the the result of the following expression? (a (r (m 3 (m 1 2))))