An open API service indexing awesome lists of open source software.

https://github.com/jamesmacaulay/hello-elm


https://github.com/jamesmacaulay/hello-elm

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Hello Elm!

---

"a delightful language for reliable webapps"

---

* a language
* compiles to JS
* has its own package ecosystem
* focused on building browser apps

---

```javascript
// JavaScript
function incrementAll(numbers) {
return numbers.map(num => num + 1);
}
```

---

```elm
-- Elm
incrementAll numbers =
List.map (\num -> num + 1) numbers
```

---

```elm
-- Elm
incrementAll : List number -> List number
incrementAll numbers =
List.map (\num -> num + 1) numbers
```

---

* functional
* statically typed
* in the ML family (Haskell, OCaml, Purescript)

---

## Why Elm?

---

![fit](images/undefined-is-not-a-function.png)

---

![fit](images/cannot-read-property-foo-of-undefined.png)

---

## (Almost) no runtime exceptions!

---

![fit](images/email-typo-error.png)

---

## Astonishingly helpful error messages

---

![fit](images/john-carmack-tweet.png)

---

![fit](images/error-message-catalog-issues.png)

---

## Fearless refactoring

---

## Type-enforced semantic versioning

---

## Easy to embed inside your existing JS app

---

```
npm i react-elm-components
```

---

## Really fast HTML

---

![fit](images/benchmarks.png)

---

## One really nice way of building apps

---

![fit](images/beginner-program.png)

---

## It's fun!

---

## Thanks!

### `*/jamesmacaulay`

---

## www.meetup.com/Elm-Toronto

### Thursday, February 9th @ Dundas Video

---

* `elm-lang.org`
* `guide.elm-lang.org`
* `www.manning.com/books/elm-in-action`
* `pragmaticstudio.com/elm`