1. Write a procedure , **arg-type** that returns a *symbol* indicating the type of its parameter. Types that the procedure must recognize along with the symbol (exactly as shown ) to return are:
Anything else as an argument should return the symbol *unknown.*
2. Define the procedure **make-list** which takes a non-negative integer *n* and an object and returns a new list , *n* long, each element of which is the object. For example:
(make-list 0 "kiwi") => ()
(make-list 2 'x) => ( x x)
(make-list 7 '() ) => ( () () () () () () () )
3. Write a procedure **mysubstr** that prompts for a string and two numbers. The procedure will echo all three values read from the input and then display the substring of the string starting at the first number (counting from zero) with a length of the second number. Note that this definition is slightly different than how the scheme function *substring* works. For example.
Enter string: "lemon"
Enter start: 1
Enter length: 3
string = lemon
start = 1
length = 3
substring = emo
I am using SISC (Secon Interpreter of Scheme Code) Version 1.8.7 which can be downloaded free from [url removed, login to view]
**_THE DUE DATE FOR THIS IS SUNDAY NIGHT (US MOUNTAIN TIME -7:00 GMT) FEBRUARY 22ND 04_**.