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 vas a definir tu propio conjunto. No importa cómo funcione internamente, siempre y cuando se comporte como un conjunto de elementos únicos.
Para completar este ejercicio, necesitas crear el tipo de dato CustomSet,
con instancias de Eq y Show, e implementar las siguientes funciones:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunionEncontrarás una declaración de datos ficticia y las firmas de tipo ya puestas, pero depende de ti definir las funciones y crear un tipo de dato, un newtype o un sinónimo de tipo que tenga sentido.
Si te interesa escribir una implementación eficiente pero no sabes bien por dónde empezar, la mejor introducción que conozco es «Purely Functional Data Structures», de Chris Okasaki, de la cual 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.