PHP may have some more type hinting abilities than it has in the past, but it's still a very dynamically-typed language. It's an ecosystem in which we are all comfortable. But what about those times we are called upon to build the front end of a new single page application? JavaScript isn't syntactically too far off from the PHP we know, but it is a very different beast. We may very well shoot ourselves in the foot if we accidentally return undefined...or was it NaN?

Maybe this would be a great time to check out Elm - a statically typed, purely functional language that compiles down to JavaScript. Not only will the compiler guarantee our code be free of runtime exceptions and type errors, but it will also provide the kindest, most helpful debugging hints and tips you've ever had the pleasure of reading. Elm frees you up to think about modeling your business logic and having fun while writing code, rather than worrying about what framework you should choose, how to structure your application, and other exhausting choices.

Come see a fast-paced introduction to Elm. We'll walk through some of Elm's most notable features, what the Elm Architecture entails, and learn how to model and implement a simple application with using static types and a functional mindset.


Comments are closed.

Great talk. I knew nothing about Elm when I walked in the door. The talk helped me understand the basics of how the language worked and what I can use it for. I like how the presenter did not strictly advocate Elm, but encouraged the audience to learn as much as they could about the relevant languages and technologies. Thank you for your efforts.

I went into this talk knowing nothing about Elm other than it was a language that compiled down to JavaScript. "Oh, CoffeeScript 2.0, eh?" I joked, before walking in. By the end, I wanted to pick up the copy of "Functional Programming in JavaScript" that's been hanging out on my desk for the last few months and really dig in. Great, fast-paced look at how to build s amall, functional app in Elm.