Question: Define and test the functions described below. In doing the assignment, you may assume that the inputs to your functions have the correct data type.

Define and test the functions described below. In doing the assignment, you may assume that the inputs to your functions have the correct data type. This means that you need not check the inputs for validity (i.e. type checking). However, your function must behave properly on all instances of valid input data types. You may define helper functions that are called by your primary function. In some cases, below you may be restricted to which helper functions you may use from the standard library.

In CLISP define your own function that duplicates the functionality of mapcar from the standard library. You may not use the built-in mapcar function as a helper function. Your implementation must be recursive.

. Input: The input to my-map is a function that takes a single argument and a homogeneous list of elements of the same data type compatible with the procedure. Note: the function argument can be named or anonymous (lambda).

Output: A new list of the original elements with the same procedure applied to each.

Examples:

> (my-map sqrt '(9 25 81 49))

'(3 5 9 7)

> (my-map add1 '(6 4 8 3))

'(7 5 9 4)

> (my-map (lambda (n) (* n n))

'(5 7)) '(25 49)

> (my-map even? '(2 5 7 12))

'(#t #f #f #t)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!