Question: LISP PROGRAMMING Write the following Lisp functions using either recursion or the loops dotimes and dolist: a. A function called is-const that takes one parameter

LISP PROGRAMMING

Write the following Lisp functions using either recursion or the loops dotimes and dolist:

  • a. A function called is-const that takes one parameter that we can assume to be a list, and returns t if all the elements of the list are identical to each other (or what we could call, a constant list) and nil otherwise. Note that both an empty list and one that has only one element can be considered constant. Implementation suggestion: with the dolist loop.

    Examples of results: (is-const '()) ; t (is-const '(a)) ; t (is-const '(1 2 3)) ; nil (is-const '(5 5 5 5)) ; t

  • b. A function called element-i taking two parameters. You can assume that the first one is a list and the second one a non-negative number. The function must return the i-th element of the list. We'll assume that the car of the list is the element number 0, the next one is number 1, and so on. If the index is higher than the length of the list, the function should return nil. Implementation suggestion: you can use either the loop dolist with a counter, or the loop dotimes in combination with the function pop. Recursion also works.

    Examples of results: (element-i '(1 2) 4) ; nil (element-i '(a b c d e) 4) ; 'e (element-i '(3 1 2 6) 0) ; 3

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!