Purely Functional Data Structures in Elm – course lecture notes (2015)
classes.cs.uchicago.edu
classes.cs.uchicago.edu
I'm not affiliated in any way, just a fan of Elm.
[0] https://www.manning.com/books/elm-in-action
[1] https://twitter.com/ManningBooks/status/756492787290214401
(I'm also a fan of MEAP's, so buying this just because.)
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...
Do you mean recommendations? I have none, but SICP, which you probably know. I liked the first chapter so far.
Also, see wiki (https://en.wikipedia.org/wiki/Purely_functional#External_lin...), and citations and similar articles for Osaki on google scholar. Personaly, I find the underlying theory about logics more interesting to begin with. ML was a script language for proof automation, in the bigger picture.
To hijack your thread: Seeing that OOP should be possible without side-effects, I find the distinction arbitrary. The basic structures are lists. Objects are often implemented with tables.
Tangentially related, but I am currently reading Pearls of Functional Algorithm Design [2] - It is fascinatingly well written (though it isn't strictly about data structures only).
I plan to read Fun of Programming [3] next which has a chapter on binary heap trees by Okasaki but the rest of the topics aren't quite about data structures.
[1] http://cstheory.stackexchange.com/questions/1539/whats-new-i... [2] http://www.amazon.in/Pearls-Functional-Algorithm-Design-Rich... [3] https://www.cs.ox.ac.uk/publications/books/fop/
https://www.classes.cs.uchicago.edu/archive/2015/winter/2230...
You are right FRP is gone now, but still they talk about Functional Data Structures which are not going to change anytime soon.
It has the disadvantage of breaking previous code and making previous learning resources obsolete, but on the other hand, the language keeps evolving and improving.
There's an article on why they changed from signals to commands/subscriptions. They argue that this change was needed, as signals was a concept that was hard and could be make unnecessary by the new system, which was easier.