Skip to content

Instantly share code, notes, and snippets.

@groz
Created December 15, 2016 12:18
Show Gist options
  • Save groz/f46d0b4dc0e09633c6060c73483ddbdf to your computer and use it in GitHub Desktop.
Save groz/f46d0b4dc0e09633c6060c73483ddbdf to your computer and use it in GitHub Desktop.
Elm talk outline
Elm - Friendly functional programming for the Web
Intro
====
- I'm just learning
- Evan Czaplicki, Harvard, programming for the Web doesn't have to be painful
- Ideas from academia
- Rocks the FP community boat by making ideas approachable
What is Elm?
====
- Compiled to JS
- Reliable, 0 runtime exceptions, OOM, recursion
- Stateless functions, strongly typed, no mutable values at all
- Very fast. About 50% faster HTML rendering than React.js
DEMO REPL
- Strongly-typed values
- Functional application, curried by default
- Pipeline operator, composing functions
- Record types, how to update them, type aliases
- Union-types, pattern matching
The Elm Architecture
====
- The Elm Architecture is a simple pattern for creating webapps. The core idea is that your code is built around a Model of your application state, a way to update your model, and a way to view your model.
- Redux is inspired by Elm
DEMO UI
- Fibonnaci list
Why not Elm?
====
- Current version 0.18 < 1.0
- Fast development with breaking changes, although the upgrade is usually not too much effort
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment