Created
December 15, 2016 12:18
-
-
Save groz/f46d0b4dc0e09633c6060c73483ddbdf to your computer and use it in GitHub Desktop.
Elm talk outline
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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