Question
do not use any of the built-in Clojure functions/macros except: def, defn, fn, if, cond, let, arithmetic operations, comparison operations, and, or, not, str, seq,
do not use any of the built-in Clojure functions/macros except: def, defn, fn, if, cond, let, arithmetic operations, comparison operations, and, or, not, str, seq, cons, first, rest, nth, zero?, seq?, empty?, nil?, odd?, even?, assoc. Create the following functions using Clojure.
1.(prepend n x coll) returns a sequence (a seq!) containing n copies of x and the remainder of the elements of the collection coll.
> (prepend 3 [1 2] (:x :y :z))
> ([1 2] [1 2] [1 2] :x :y :z)
2. (invert lst), where lst is a list of 2-lists (lists of length two), returns a list with each 2-list reversed.
> (invert ((a 1) (a 2) (1 b) (2 b)))
((1 a) (2 a) (b 1) (b 2))
3. (down lst) wraps each top-level element of lst in a list.
> (down (1 2 3))
((1) (2) (3))
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started