# Functional Sets Course

**URL:** https://discourse.elm-lang.org/t/functional-sets-course/673
**Category:** Show and Tell
**Created:** [February 12, 2018, 2:18pm UTC](https://discourse.elm-lang.org/t/functional-sets-course/673 "2018-02-12T14:18:50Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![brian](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/brian/32/2180_2.png) [@brian](https://discourse.elm-lang.org/u/brian)
#### Post date: [February 12, 2018, 2:18pm UTC](https://discourse.elm-lang.org/t/functional-sets-course/673/1 "2018-02-12T14:18:50Z")

</div>

Hey there! I’ve just put the finishing touches on and published a new course based on some blog posts I wrote over the last year.

In it, you’ll learn how to replicate the `Set` API. If you’re interested in how to create your own data structures in Elm, you’ll probably be pretty interested!

> **[Functional Sets](https://www.brianthicks.com/guide/functional-sets/)**
>
> In this series of guides, I show you how to build a functional data structure using Elm.
> Our goal: …

(p.s. this is the first set of posts I’ve turned into guides, which I’m going to be keeping up-to-date for Elm 0.19 and beyond.)

---

<div class="post-metadata">

### Author: ![Atlewee](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/atlewee/32/4603_2.png) [@Atlewee](https://discourse.elm-lang.org/u/Atlewee)
#### Post date: [February 17, 2018, 11:22am UTC](https://discourse.elm-lang.org/t/functional-sets-course/673/2 "2018-02-17T11:22:51Z")

</div>

I have not seen this before now.  
This was very well written.  
I learned a lot reading through this. Not just about sets, but also how map/filter/fold++ works in general. 👍
