Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/shahnhogan/elm-resources

Resources to learn and get the most out of Elm
https://github.com/shahnhogan/elm-resources

elm elm-architecture elm-lang

Last synced: 6 days ago
JSON representation

Resources to learn and get the most out of Elm

Awesome Lists containing this project

README

        

# Elm Resources

- [Introduction to Elm for React Developers](https://kkalamarski.me/introduction-to-elm-programming-language-for-react-developers)
- [Browser.element minimal app (Html)](https://ellie-app.com/jSsnXRshNFva1) - A great way to jump start a project
- [Elm Guide for JavaScript Developers](https://github.com/elm-guides/elm-for-js) - Community driven Elm guide for JavaScript developers

## The Elm Architecture (TEA)
- [Animation to help explain TEA](https://lucamug.medium.com/the-elm-architecture-tea-animation-3efc555e8faf)

## Ellies

- [Ellie](https://ellie-app.com) - Browser Elm Editor to share example code
- [Ellie Catalog](https://janiczek-ellies.builtwithdark.com/) - Find popular Ellies

### Data Modeling

- [Data Modeling Resources Blog post by Joël Quenneville](https://thoughtbot.com/blog/data-modeling-resources-in-elm)
- All about Types
- Eliminating impossible states
- Primitives
- Using the compiler to check for invariants
- Type Narrowing
- General domain modeling
- [Data Structures – Lists, Arrays, Sets and Dictionaries](https://dennisreimann.de/articles/elm-data-structures-list-array-set-dict.html)

### Decoders

- [Get first Maybe String from a Maybe List](https://ellie-app.com/hgnRLf3Zy3Qa1)
- [Demystifying JSON decoders](https://github.com/zwilias/elm-demystify-decoders)
- [Decoder tester](https://ellie-app.com/f7xk94jj47Ra1)
- [Custom Flags Decoder - for 0.18, but decoding is applicable](https://developing.enectiva.cz/2017/05/31/custom-flags-decoder-in-elm/)
- [How to decode complex JSON](https://tech.chefclub.tv/how-to-decode-complex-json-with-elm)

### HTML

- [Convert HTML to Elm](https://html-to-elm.com/) - Convert HTML and SVG to Elm

### Maybe

- [Maybe](elm-maybe)

### Naming

- [Message Naming Conventions](https://youtu.be/w6OVDBqergc) by Noah Z. Gordon from Elm in the Spring 2019

### Patterns

- [Elm Patterns](https://sporto.github.io/elm-patterns/) - A collection of common patterns for Elm

### Pattern Matching

- [Elm Destructuring (or Pattern Matching) cheat sheet](https://gist.github.com/yang-wei/4f563fbf81ff843e8b1e) - Demonstrating ways to extract data from a data structure (tuple, list, record) that mirrors the construction.
- [Best Practices](https://gist.github.com/rofrol/fd46e9570728193fddcc234094a0bd99)

### Parsing

- [Introduction to the elm/parser package](https://korban.net/posts/elm/2018-09-07-introduction-elm-parser/) - The example includes parsing a phone number
- [Parse, don't validate](https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/)

### Ports
- [Elm Port Examples](https://github.com/harfangk/elm-ports-example)

### Records

- [Intro to Records in Elm](https://medium.com/elm-shorts/intro-to-records-in-elm-51bc5e933a57) - Free functions and other useful bits

### Strings

- [Stringy - The String Transformer](https://stringy.guupa.com/) - A website that contains a collection of functions that you can use to transform strings into something else.

### Types

- Advanced Types
- [Opaque Types](https://ckoster22.medium.com/advanced-types-in-elm-opaque-types-ec5ec3b84ed2)
- [Extensible Records](https://ckoster22.medium.com/advanced-types-in-elm-extensible-records-67e9d804030d)
- [Never Type](https://ckoster22.medium.com/advanced-types-in-elm-the-never-type-ca9b3297bbd4)
- [Phantom Types](https://ckoster22.medium.com/advanced-types-in-elm-phantom-types-808044c5946d)