CS323: Programming Languages and Methodologies
Homework Project 1
Assigned March 31
Due in class Wednesday April 11


1. Write a Scheme function that will "sum-reduce" a list of integers. So, for example,
(sum-reduce '(1 3 5 7)) is 16. The function should return a single integer that is the sum of the elements in the list.

2. Write a Scheme function "max-find" that returns the maximum of a list of integers. So, for example,
(max-find '(1 3 5 7)) is 7.

3. Write a Scheme function that computes the first n "sum-of-squares". So, for example,
(sum-of-squares 4) is 1 + 4 + 9 + 16 = 30. The function should return a single integer that is the sum of the squares of the first n integers where n is the single argument.

4. Write a Scheme function that will "append" one list together with another. So, for example,
(append '(1 2 3) '(4 5 6)) is (1 2 3 4 5 6). The function should return a single list that is the concatenation of the two arguments.

5. Write a Scheme function that will "flatten" a list. So, for example,
(flatten '((1 2) () 3 4 ((5)))) is (1 2 3 4 5). The function should return a flat list containing the same values as the original list, and in the same order.