Question: Haskell Using the recursive definitions given on the slides of chapter 6, show how length [1,2,3], drop 3 [1,2,3,4,5], and init [1,2,3] are evaluated. Here,

Haskell

Using the recursive definitions given on the slides of chapter 6, show how "length [1,2,3]", "drop 3 [1,2,3,4,5]", and "init [1,2,3]" are evaluated. Here, you need to write out (i.e., show) each step that Haskell takes to evaluate the corresponding three expressions, like on slides 4, 8, etc., of the slides of chapter 6. Note: that the recursive definitions of "length" and "drop" are on slides 9 and 14 of the slides of chapter 6, respectively, while the recursive definition of "init" is: init :: [a] -> [a] init [_] = [] init (x:xs) = x : init xs

Slide:

Haskell Using the recursive definitions given on the slides of chapter 6,

show how "length [1,2,3]", "drop 3 [1,2,3,4,5]", and "init [1,2,3]" are evaluated.

Using the same pattern of recursion as in product we can define the length function on lists. length maps the empty list to 0 , and any non-empty list to the successor of the length of its tail. 9 Remove the first n elements from a list: Appending two lists: (++):[a][a][a] []++ys=ys (x:xs)++ys=x:(xs++ys) 14

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!