Create a custom set type.
Sometimes it is necessary to define a custom data structure of some type, like a set. In this exercise you will define your own set. How it works internally doesn't matter, as long as it behaves like a set of unique elements.
To complete this exercise, you need to create the data type CustomSet,
with Eq and Show instances, and implement the following functions:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunionYou will find a dummy data declaration and type signatures already in place, but it is up to you to define the functions and create a meaningful data type, newtype or type synonym.
If you're interested in writing an efficient implementation but don't quite know where to start, the best primer I know of is Chris Okasaki's "Purely Functional Data Structures", which you can read a version of here: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
Sign up to Exercism to learn and master Haskell with 107 exercises, and real human mentoring, all for free.