Crea un tipo de conjunto personalizado.
A veces es necesario definir una estructura de datos personalizada de algún tipo, como un conjunto. En este ejercicio definirás tu propio conjunto. Cómo funciona internamente no importa, siempre que se comporte como un conjunto de elementos únicos.
Para completar este ejercicio, tienes que crear el tipo de datos CustomSet,
con las instancias Eq y Show, e implementar las siguientes funciones:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunionEncontrarás una declaración de datos ficticia y las firmas de tipo ya en su sitio, pero depende de ti definir las funciones y crear un tipo de datos, un newtype o un sinónimo de tipo que tenga sentido.
Si te interesa escribir una implementación eficiente pero no sabes muy bien por dónde empezar, la mejor introducción que conozco es «Purely Functional Data Structures», de Chris Okasaki, de la que puedes leer una versión aquí: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.