Elm is a delightful functional language for reliable webapps. It compiles to JavaScript, has great performance, no runtime exceptions, and can be embeded easily into existing JS projects without the need for huge rewrites or time investment.
We’ll be taking a practically focused crash course tour of Elm, ideally you’ll walk away being able to put Elm into production either from scratch or in an existing project.
Mario is an Australian living in London, where he organises the Elm London Meetup group. He believes technology should make life simple and joyful, and enjoys being able to prove so.
Talk by Mario Rogic (@realmario) at the Reactivate London meetup.
Recorded by Pusher.com. Check them out if you want awesome real-time tools, and subscribe to the their YouTube channel for more talks!
Pusher’s channel: https://www.youtube.com/channel/UCoyqucxoFXDFnh3khD0rjUg
—
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://medium.freecodecamp.org
And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp
source
Yay for more Elm exposure!
Here's one recent account of Elm in production (alonside React), which I recommend to anyone interested in the topic: "Elm at Scale: More Surprises, More Pain Points" https://youtu.be/uQjivmLan0E
Love it!!
omg, I just saw a video about Elixir and its syntax was a little rare for me, but this one is really a pain in the brain.
Nice presentation. and great work explaining complicated concepts in simple terms.
However, your example of the "Worst possible scenario" was very overpromised and kinda fake .
I would be surprised if there's any application written in any language in which, if you go and introduce a new function ( or feature) and add a new switch case, would break anything,
Your example proved nothing. Why would that code break anyway ?
You know what I mean ?
If I go into my application, written in Angular, find a switch case and add a new case, how's that gonna break anything in runtime? UNLESS that case is actually being met in the runtime, which could happen in your ELM example too.
You didn't add a new feature, you just created an empty function somewhere floating in the code base and praising ELM because nothing broke.
How about adding some new business logic . ?
How about playing a little bit with the markup and adding some new markup to see if something will break ?
Basically, codes break because of change in the business logic, not because of introducing new unused functions.
Cool talk any way.
Elm is nice for two reasons:
1 Its syntax is simpler then for example clojure
2 It is about web apps, so if you are modern front-end dev right now, so elm's concepts are very close
This looks like Elm version 0.18.
Current version is 0.19, but it have breaking changes and shitty documentation – elm architecture section is just a draft and examples from v0.18 doesn't work. that's kinda big red flag to not use it for anything at work (unless you plan to leave company and your enemies will have to support it :D)
Yes. It's ridiculous how bloated are the depencies of an NPM project.
I think Noredink had a runtime exception, they left a Debug.crash in the prod code if I recall correctly.
An updated version of this simple counter can be found here: https://guide.elm-lang.org/#a-quick-sample
3:07 that hand fart 😂
I Wonder, why 5 dislikes.. Very good diagram flow & explanations.
Too much bla bla.
Amazingly clear explanation of the Elm runtime!
I wish you guys can create a elixir and phoenix fullstack tutorial, it would so beneficial to us. Thank you
is some one eating on the background?
is it kitchen actually or what
I dont get it. How can it not have any runtime exceptions. Runtime Exceptions are mostly logical errors made by the programmer that are syntactically otherwise correct. Nothing stops the programmer in making logical errors. For example nothing stops me from giving an input 5/0 to the compiler. Nothing stops me from making Encoding errors, Regex parsing errors. I dont know how this claim is even valid. Probably elm can be marketed something like, Compiler catches most of the runtime exceptions internally and gives out a readable output without stopping the execution.
Would like to suggest a few pointers for beginners trying out elm 0.19 :
-> toString no longer exists, it comes from String module now, Use String.fromInt
-> beginnerProgram is changed to Browser.sandbox in elm 0.19
Any idea where I can find the source code for the interactive presentation?
5:47 to get to business
Nice, but 0.19 Elm broke loads of backward compatibility so this doesn't really work for latest Elm 2019
Brilliant talk! This is great and clear explanation even for someone like me as I've never written anything in Elm.
is elm can be used in backend?
really nice videography
Welcome to the world of compilers and almost writing real code…
31:54 is literally why I'm here 😂
But I must say this video is getting me more excited to work with it
First 5:00 minutes are a complete waste of time. Not a word was useful.
Sorry. I'm not sold. This is another project to transpile something to JS. Better time would be invested into Wasm or helping Clojure Script. There's just too many programming languages now days. We need general purpose languages… Not DSL languages.
12:04 Ya man…me. Right here….You got one guy here 😩
my god what a weird language i feel like my brain is overheating
4 minutes into the video, still no info. going elsewhere already
Jesus, get to the frigging point;)
FYI: SemVer works like this: MAJOR.MINOR.PATCH
Really good talk and light intro. Much appreciated
Very helpful!
Almost the same just simpler and in JS/TS – gitlab.com/peryl/peryl
Really good, interesting and entertaining Speak! This was my first touchpoint with Elm and a great overview
Awesome job, thanks a lot. <3
Where can I get the source code of the live slide.
Why do people often pronounce HTML like 'heytch TML' ?
First time I've heard of Elm. I'm shocked that able to grasp the whole concept. This never ever happened to me. 🙂 I don't know the Elm syntax other than what you presented here but I'm confident Elm is my new favorite language. I think credit has to Mario. Thank you.
I looked at Elixir and other FP languages, they all gave me such a bad headache. LOL :_)
Beautiful explanation. simple and understandable
There's always talk about how language X will ease developer pain, but rarely do I hear my pains addressed. Immutable types, funtional syntax, type checking, cool, but what about declarative UI, model checking between client and server, opinionated error handling. Virtually every app is a reinvention, so why do we always need to work our way up from the stone age each time we start a new app?
This was an awesome talk. Really appreciate this knowledge.
As somebody who needs to learn elm at a base level within the next month and a half, and as somebody who will be basically screwed if I dont learn elm within that timeframe, I very much appreciate this talk.
I'm learning now, but the documentation is not clear, I can not find anywhere how to create a hover effect for a fucking button
Awesome talk! I don't have a need to learn or develop in Elm yet but even so, the talk was good enough that I watched it from start to finish!