사용자 정의 집합 타입을 만들어 봐요.
가끔은 집합처럼 특정 타입의 사용자 정의 자료 구조를 직접 정의해야 할 때가 있어요. 이 연습 문제에서는 나만의 집합을 정의해 봐요. 내부적으로 어떻게 동작하는지는 중요하지 않아요. 중복 없는 원소로 이루어진 집합처럼 동작하기만 하면 돼요.
이 연습 문제를 완료하려면 Eq와 Show 인스턴스를 가진 CustomSet 데이터 타입을 만들고, 다음 함수들을 구현해야 해요:
deletedifferenceemptyfromListinsertintersectionisDisjointFromisSubsetOfmembernullsizetoListunion더미 데이터 선언과 타입 시그니처는 이미 자리 잡고 있지만, 함수를 정의하고 의미 있는 데이터 타입이나 newtype, 타입 동의어를 만드는 것은 직접 해야 해요.
효율적인 구현을 작성하는 데 관심이 있지만 어디서부터 시작해야 할지 잘 모르겠다면, 제가 아는 가장 좋은 입문서는 Chris Okasaki의 "Purely Functional Data Structures"예요. 이 책의 한 버전은 여기에서 읽을 수 있어요: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
Exercism에 가입하고 Haskell 트랙을 연습 문제 107개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.