cursive Functions Without looking at the standard prelude, define the following library functions using recursion: o Decide if all logical values in a list are true: and :: [Bool] -> Bool
Hask
Define the following library functions with recursion without consulting the definitions from the standard prelude: – and concatenate, replicate, and (!!) element
Notably, rather than employing explicit recursion, the majority of these functions are actually defined in the prelude using other library functions.
#Determining whether all of the logical values in a list are True: furthermore: [Bool] =Bool
nd :: [Bool] -> Bool
and [] = True
and (x:xs) = x && (and xs)
Example:
*C> and [True, True, True]
True
*C> and [True, False, True]
False
# Join several lists together: concatenation:
[[a] ] → [a]
concat :: [[a]] -> [a]
concat [xs] = xs
concat (xs:xxs) = xs ++ (concat xxs)
Example:
*Ch6> concat [[1..10], [2,4], [20..25]]
[1,2,3,4,5,6,7,8,9,10,2,4,20,21,22,23,24,25]
Step by step
Solved in 2 steps