Learning FP the hard way: Experiences on the Elm language by Ossi Hanhinen.
From the webpage:
Foreward
A good friend of mine convinced me about the benefits of Reactive Programming not that long ago. It almost feels wrong not to write Functional Reactive Programming — apparently the functional methodology lends itself magnificently to complement reactive programming. How, I did not know. So I decided to learn this stuff.
Knowing myself, I soon realized I would only ever get in the mindset if I had to solve some actual problems using the techniques. Having written JavaScript for the past few years, I could have just gone for RxJS. But again, I knew myself and felt it would give me way too much room for “going against the grain”. I needed something that would enforce me to solve everything in a functional manner. This is where Elm comes in.
Elm? What’s that?
Elm is a programming language that compiles to HTML5: HTML, CSS and JavaScript. Depending on how you display your output, it may be a
<canvas>
with objects inside, or a more traditional web page. Let me repeat. Elm is a language, which compiles into the three languages used to build web apps. What’s more, it is a functional reactive programming language with strong types and immutable data structures.Okay, so you may have gathered I am no expert in this field, but in case you’re lost, here are my short explanations on the terminology: Appendix: Glossary.
I can think of three reasons why you should read Ossi’s post:
#3 – You like functional programming languages.
#2 – Elm sounds like a great way to avoid writing HTML5: HTML, CSS and JavaScript.
And the #1 reason people will read Ossi’s post:
#1 It provides a base for writing a Space Invaders type game! 😉
I liked Space Invaders but my personal favorite was Missile Command. It was so bad, once upon a time, that I had a jar into which I had to put quarters for each game. Just to keep time spent playing to a reasonable amount.
Enjoy!