
Purely Functional Data Structures in Elm – course lecture notes (2015) - myth_drannon
https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/
======
jaxondu
Also checkout Elm for Beginners which is free. Not sure if free offer is
temporary.

[http://courses.knowthen.com/courses/elm-for-
beginners](http://courses.knowthen.com/courses/elm-for-beginners)

~~~
shadeless
And also checkout Elm in Action MEAP [0], published just yesterday. There is a
coupon for 50% valid today, "mlfeldmantw" [1]

I'm not affiliated in any way, just a fan of Elm.

[0] [https://www.manning.com/books/elm-in-
action](https://www.manning.com/books/elm-in-action)

[1]
[https://twitter.com/ManningBooks/status/756492787290214401](https://twitter.com/ManningBooks/status/756492787290214401)

~~~
michaelcampbell
I'm intrigued by Elm, but know too little javascript to even be dangerous. Can
you enumerate why you're a fan?

(I'm also a fan of MEAP's, so buying this just because.)

~~~
yawaramin
Elm's type system rules out the possibility of _null_ or _undefined._ So you
won't be seeing those errors at runtime (modulo some bug in Elm itself). It
encourages you to program with a very clean separation between model, view,
and update. And it has very helpful compiler error messages that guide you to
correct code.

------
rxm
Functional data structures are another beast altogether. Okasaki's book is the
only one I have on the topic. Any other suggestions?

~~~
meetapoorvgupta
CMU uses this for their Parallel Algorithm Design course:
[http://www.parallel-algorithms-book.com/](http://www.parallel-algorithms-
book.com/) It's still a work-in-progress though.

~~~
z1mm32m4n
It's a "work in progress" in the sense that the professors aren't quite
completely satisfied with it. It's still very readable, which is even more
impressive when you consider the complexity of the topics being covered.

If you're interested, I'd recommend at least glancing at the 15-210
schedule[1] so you can see the order that the chapters are covered in the
class.

[1]:
[http://www.cs.cmu.edu/afs/cs/academic/class/15210-s16/www/sc...](http://www.cs.cmu.edu/afs/cs/academic/class/15210-s16/www/schedule.html)

------
GavinMcG
I can't seem to look at the notes (on mobile, or else clueless about where to
find them) but there has been a significant change to how Elm does things in
the past few months. Just to be aware that the latest version may act
differently.

~~~
myth_drannon
it's at

[https://www.classes.cs.uchicago.edu/archive/2015/winter/2230...](https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/Schedule.html)

You are right FRP is gone now, but still they talk about Functional Data
Structures which are not going to change anytime soon.

~~~
theoh
Indeed immutable data structures are not going to change ever... Sorry.

