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.
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.
No, none. That was the only publication on (necessarily) functional datastructures in the past 100 years. Maybe Turing and Church, but that's really it. Turing was especially explicit about keeping state (the notation) explicit.
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.
As a person who is finally getting time to read papers in this field, I came across a Stack Overflow post [1] about newer functional data structures recently when looking for papers to put on my kindle for a long trip. The top answer to it has a tonne of links.
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.
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.
Yes! I applaud this attitude of Elm, of keep breaking the language to improve on it (It still hasn't reach 1.0).
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.
15 comments
[ 32.1 ms ] story [ 657 ms ] threadhttp://courses.knowthen.com/courses/elm-for-beginners
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.