And wish totake advantage the extra credit reward
WHAT TO PROGRAM:
This p3.scm file already defines some lists with which you can experiment;
endsmatch
Each of these functions should take exactly one parameter; the parameter must
by an indication of the correct invocation. For example,
"USAGE: (endsmatch [list])"
taken from lst. That is,
(evens '(a b c d e f g))
(t v x z)
(evens '(f (a b) c (d e d) (b a) f) )
ODDREV:
(oddrev lst) should return a new list, formed from the odd-numbered elements
(oddrev (LIST 's 't 'u 'v 'w 'x 'y 'z))
should return:
(oddrev '())
should return the empty list, etc.
(middle '(a b c d e f g))
should return:
should return:
((d e d))
the same as the last element in the list, and return
#f otherwise. That is,
should return:
#t
can try to get it to behave correctly when you feed it complex lists such as:
(endsmatch '((a b) c (d e d) c (a b)) )
what endsmatch should do with things like:
(endsmatch '(abc) )
In vi, for example, if you navigate your cursor over a parenthesis and then
type the '%' character, the vi cursor will jump to the matching parenthesis.
functional programming solution in order to get any credit. Even though
the variant of Scheme on rohan allows constants to be redefined (an example
facthelper was a helper function for factorial on page 679).
To start scheme and get it to pay attention to your definitions, you would do:
Your program will be checked against some predefined lists (you'll find
these are already DEFINEd in ~cs320/p3.scm for you) as well as some new lists
~/Three/p3.scm file early on [it doesn't have to work correctly; it merely
has to exist and be 'legal' scheme code], or else you won't really have
you borrow code from other sources; etc.)
EXTRA CREDIT:
If the file has been created by the 120% deadline, your project will be
picked up for grading at that time (so no further changes to your code or