Crea un tipo di insieme personalizzato.
A volte è necessario definire una struttura dati personalizzata di un certo tipo, come un insieme. In questo esercizio definirai il tuo insieme. Non importa come funziona internamente, purché si comporti come un insieme di elementi unici.
Per completare questo esercizio, devi creare il tipo di dato CustomSet, con le istanze Eq e Show, e implementare le seguenti funzioni:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunionTroverai già una dichiarazione di dati fittizia e le firme dei tipi, ma tocca a te definire le funzioni e creare un tipo di dato, un newtype o un sinonimo di tipo che abbia un senso.
Se ti interessa scrivere un'implementazione efficiente ma non sai bene da dove iniziare, il miglior testo introduttivo che conosca è «Purely Functional Data Structures» di Chris Okasaki, di cui puoi leggere una versione qui: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.