BEKK Consulting, Norway
Erik is UI development expert, having worked with some of the largest web frontends in Norway for the past five years. He is passionate about creating great products, building efficient teams and using the right tools for the job, all while continously delivering value to the product. Erik is currently employed as a team lead at Norwegian Railways, trying to provide the smoothest digital experience possible to millions of train travelers.
He is profoundly interested in functional programming and a founder of Oslo Elm Meetup and Oslo Elm Day.
— WORKSHOP —
Building Reliable Web Apps With Elm And Typed Functional Programming
Elm utilizes a React-like rendering system, using a tree of pure view functions, while structuring its app using the so-called Elm architecture (which the Redux architecture is loosely based on). All data is immutable, of course, and the language supports fancy features such as algebraic data types, pattern matching and type inference.
The workshop will cover the following topics:
- Type Inference
- Type Signatures
- Union Types
- Type Aliases
- Pattern Matching
- Partial Application
Level 1 – Introductory and overview material. Assumes little expertise with topic and covers topic concepts, functions, features, and benefits.
nodeversion 7 or newer (which includes
npm) from nodejs.org.
elm. This can be done with
npm install -g elm,
brew install elm(if on MacOS) or an old-school file download from elm-lang.org.
pluginfor your editor. At the time of writing, Atom’s Elm integration seems the best so we strongly recommend you use that, even if Atom is not usually your main editor of choice.
The following packages are needed for a pleasant development experience in Atom:
elm-format, which is a crucial tool to make your Elm experience more enjoyable.
npm install -g elm-format
- Remember to make sure that
elm-formatis available on your PATH or that you tell your editor where to find it
- In Atom, this can be done under package settings for the
elm-formatpackage: input the path to the
- You can find the path for
which elm-formaton MacOS/*Nix or
Get-Command elm-formatin powershell on Windows
- We also recommend you enable
Format on savein your editor
Clone the repo (https://github.com/ewendel/elm-workshop) to your computer
npm install(please make sure to have
npmversion 3 or newer)
Start your local application environment with
npm startin the root folder of this repo. This should open a new browser window with
localhost:3000and a nice compilation error.