I need this answer in Haskell Programming language only. 4. Write a function that adds two polynomials. Ensure that the polynomial produced matches the requirements. addPoly :: (Num a, Eq a) => Poly a -> Poly a -> Poly a For example: > addPoly (P [1]) (P [-1,1]) P [0,1] > addPoly (P [17]) (P [0,0,0,1]) P [17,0,0,1] >addPoly (P [1,-1]) (P [0,1]) P [1] You may find it helpful to write addPoly using two helper functions: one to combine the lists of coefficients, and one to trim trailing zeroes. Your implementation of addPoly should have this property: addPoly p q $$ x == (p $$ x) + (q $$ x)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I need this answer in Haskell Programming language only.

4. Write a function that adds two polynomials. Ensure that the polynomial produced matches the requirements.

addPoly :: (Num a, Eq a) => Poly a -> Poly a -> Poly a

For example:

> addPoly (P [1]) (P [-1,1])
P [0,1]
> addPoly (P [17]) (P [0,0,0,1])
P [17,0,0,1]
>addPoly (P [1,-1]) (P [0,1])
P [1]

You may find it helpful to write addPoly using two helper functions: one to combine the lists of coefficients, and one to trim trailing zeroes.

Your implementation of addPoly should have this property: addPoly p q $$ x == (p $$ x) + (q $$ x)

### Adding Polynomials in Haskell

Write a function that adds two polynomials. Ensure that the polynomial produced matches the requirements.

```haskell
addPoly :: (Num a, Eq a) => Poly a -> Poly a -> Poly a
```

#### For example:

```haskell
> addPoly (P [1]) (P [-1,1])
P [0,1]

> addPoly (P [17]) (P [0,0,0,1])
P [17,0,0,1]

> addPoly (P [1,-1]) (P [0,1])
P [1]
```

You may find it helpful to write `addPoly` using two helper functions: one to combine the lists of coefficients, and one to trim trailing zeroes.

Your implementation of `addPoly` should have this property:

```haskell
addPoly p q $$ x == (p $$ x) + (q $$ x)
```
Transcribed Image Text:### Adding Polynomials in Haskell Write a function that adds two polynomials. Ensure that the polynomial produced matches the requirements. ```haskell addPoly :: (Num a, Eq a) => Poly a -> Poly a -> Poly a ``` #### For example: ```haskell > addPoly (P [1]) (P [-1,1]) P [0,1] > addPoly (P [17]) (P [0,0,0,1]) P [17,0,0,1] > addPoly (P [1,-1]) (P [0,1]) P [1] ``` You may find it helpful to write `addPoly` using two helper functions: one to combine the lists of coefficients, and one to trim trailing zeroes. Your implementation of `addPoly` should have this property: ```haskell addPoly p q $$ x == (p $$ x) + (q $$ x) ```
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education