# Define the following Common Lisp functions and macros.

[5points]Write a Common Lisp function named myList which creates the following list
and returns it (4 (7 22) “art” (“math” (8) 99) 100) 2. [10 points] Write a Common Lisp function named leapYear which takes no required parameters and returns an ordered list containing all leap years from 1800 though 2021. The list of leapyears must be calculated, no points will be given for a hard-coded list. 3. [10 points] Write a Common Lisp function named union- which takes two list parameters. union- returns a single list which contains the separate unique entities from both lists, with no duplication. You are not allowed to use the predefined union function for this function. 4. [10 points] Write a Common Lisp function named avg with a single parameter named aList. avg returns the average of all elements in aList. Assume all elements in aList are numbers. If given an empty list, avg should return NIL. The avg function must be tail recursive. 5. [15 points] Write a Common Lisp function named isType which takes a single parameter named dataType. isType will return an anonymous function which takes a single parameter and returns true if the parameters data type is the data type specified in dataType. Otherwise the anonymous function returns false. 6. [15 points] Write a Common Lisp function named taxCalculator with three parameters: limit, rate, and values. limit and rate will be numbers, values will be a list. taxCalculator returns a list with the same elements and ordering of the values parameter EXCEPT every element which is greater than limit is multiplied by rate. Assume that all elements of the values list are numbers. BONUS: Make taxCalculator tail recursive 5 points

7. [20 points] Write a Common Lisp function named clean which takes two parameters: aFunc and aList. aFunc will be a function and aList a list. aFunc is expected to be a function which takes a single parameter and returns a boolean value. clean will return a list which contains all values in aList which, when passed to aFunc, return true. If aList contains sublists, clean should create a new sublist with only the values which return true when passed to aFunc 8. [15 points] Define a Common Lisp macro named threeWayBranch, which takes three parameters: x, y, and z. All parameters will be lists containing an arbitrary number of sublists where the first sublist is a conditional. ( (conditional) (sublist-1) (sublist-2) … ) The threeWayBranch macro will behave similarly to the cond macro. It will first evaluate the conditional in parameter x and if it evaluates to true, execute all subsequent sublists in parameter x then return. If the conditional in x is NIL, the conditional in y will be evaluated. If true, the subsequent sublists in parameter y will
ALL required s will be included

1. Place this order or similar order and get an amazing discount. USE Discount code “GET20” for 20% discount 