• Stars
    star
    169
  • Rank 224,453 (Top 5 %)
  • Language
    Elm
  • License
    BSD 3-Clause "New...
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

💡 Figure out how JSON decoders in Elm work by writing them. Step by step.

Demystifying JSON decoders

Some people learn best by reading, others learn by best exploring and experimenting. This project caters to the latter.

Decoding JSON in Elm can often feel daunting and difficult, even to experienced developers. The exercises in this project attempt to guide you through JSON decoding, by gradually increasing the level of complexity.

Starting the exercises

  • Clone this repository
  • Install elm and elm-test
  • Open the project in your editor

Installing elm and elm-test

There are a couple of options. You can either install them globally, using npm -g i elm elm-test or using yarn global add elm elm-test, or locally in the scope of this project using either npm i or yarn install.

Running the tests for a specific exercise

After solving an exercise, for example Exercise01, you can run the tests for that exercise. The method you use will depend on how you chose to install elm and elm-test:

  • elm-test tests/Exercise01 - if you installed it globally
  • npm run elm-test tests/Exercise01 - locally using npm
  • yarn elm-test tests/Exercise01 - locally using yarn

More Repositories

1

elm-json

Install, upgrade and uninstall Elm dependencies
Rust
182
star
2

elm-xref

Experimental tool for finding unused functions/finding usages
Elm
61
star
3

elm-coverage

Explorations
Elm
59
star
4

elm-rosetree

Rosetree/multiway trees in Elm
Elm
46
star
5

elm-thanks

🌟 Say thanks to everyone who helps build and maintain your Elm dependencies
JavaScript
30
star
6

elm-html-string

Drop in elm-lang/html replacement which can serialize to a pretty `String`
Elm
25
star
7

elm-faster-map

Elm
17
star
8

elm-cordova-intro

Getting started with Elm, Cordova and Fastlane
Ruby
16
star
9

beanie

🐣 A clean, lean PHP beanstalkd client
PHP
15
star
10

elm-doc

Elm
12
star
11

json-decode-exploration

Exploration: JSON decoding with strong error types
Elm
11
star
12

elm-reorderable

Reorder entries while maintaining a key/value correspondence.
Elm
10
star
13

elm-bytes-parser

Parse elm/bytes using composable parsers with errors and context tracking.
Elm
6
star
14

sudoku-solver

Elm
6
star
15

elm-toml

Parsing and decoding TOML to Elm
Elm
6
star
16

elm-json-in-elm

Implementation of the whole JSON shebang in pure Elm
Elm
5
star
17

elm-touch-events

Elm
5
star
18

elm-utf-tools

Converting between different UTF encodings, in Elm.
Elm
5
star
19

elm-benchmark-cli

experiment
Elm
4
star
20

elm-tree

🌳 Implementation of self-balancing trees in Elm
Elm
4
star
21

elm-disco

🔌 Exploration: building views without explicitly passing in all the params.
Elm
4
star
22

mongoReducer

👴 MongoReducer allows running mongo's mapreduce functionality from within mongo - without cron or outside scripts and programs.
JavaScript
3
star
23

elm-dict-set-exploration

Alternative Dict/Set implementations
Elm
3
star
24

elm-holey-zipper

A `List` zipper with holes in it.
Elm
3
star
25

condparse

⁉️ A condition string parser in PHP
PHP
2
star
26

elm-instrument

Haskell
2
star
27

minesweeper

QnD minesweeper under the guise of flat-array matrix investigation
Elm
2
star
28

zend-framework-1

Good old zend-framework one, composer-ready. For those of us stuck with it, but wanting to use composer nevertheless.
2
star
29

carver.js

Seam carving in javascript
JavaScript
1
star
30

qman

👽 An evented beanstalkd queue manager.
PHP
1
star
31

markdown

CommonMark compliant Markdown parser in Elm
Elm
1
star
32

CronVis

PHP
1
star
33

sqitch-action

GH Action to run Sqitch
Dockerfile
1
star
34

elm-package-template

Template for creating a new Elm package, with tests, verified examples and travis integration.
Elm
1
star
35

elm-as-webcomponent

Quick hello world
HTML
1
star
36

elm-avl-dict-bench

Elm
1
star
37

Carver

A seam carving/fluid scaling/content aware scaling implementation in Java. Assignment for a Digital Image Processing class at KHLeuven.
Java
1
star
38

tic-tac-toe

Elm
1
star