Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

Latest commit

 

History

History
101 lines (76 loc) · 3.51 KB

README.md

File metadata and controls

101 lines (76 loc) · 3.51 KB

Elm

Welcome to the workspace for Exercism v3's Elm track!

This area will contain everything needed to launch the Elm track, including:

  • The new exercises and config.json file.
  • Reference documentation that help explain Elm concepts for which no appropriate online document could be found.
  • Elm-specific documentation for contributors.

Preparation Status

Before we publicize requesting contribution for this language, the following steps should be done.

Readiness for Launch

Before launch, we need all of the following parts to be completed:

config.json

  • Added version key
  • Added online editor settings
    • Added indent_style
    • Added indent_size
  • Convert the exercises array to an object
  • Remove the foregone property

See the migrating your config.json files document for more information.

Concept Exercises

  • Added 20+ Concept Exercises

Representer

  • Build Representer
  • Deploy Representer

Test Runner

  • Build Test Runner
  • Deploy Test Runner

Extra magic

These extra steps will make your track better, but are optional.

Analyzer

  • Build Analyzer
  • Deploy Analyzer

Key concepts

This is a mermaid / markdown diagram, you may need to install a Browser Plugin or VsCode extension or similar to view it. You could also copy and paste the markdown in to the Mermaid Online Editor if you would prefer not to install plugins.

The top to bottom order of the items (at least in the markdown text, and mostly in the diagram) is the suggested learning order.

graph LR
  Basics[Minimal compilable file] --> Independents[Import, Exposing, Functions, Float, Int, Type Annotations] --> Mathematical-Operators
  Independents --> Mathematical-Operators
  Independents --> Mathematical-Functions
  Independents --> Let-Expressions
  Independents --> Equality
  Equality --> Ordering
  Ordering --> Comparisons
  Independents --> String
  String --> Regex
  Independents --> Char
  Independents --> List
  List --> List-Extra
  Independents --> Dict
  Independents --> Set
  Independents --> Array
  Independents --> Type-alias
  Independents --> Sum-types
  Independents --> Booleans[Bool type / operators, If]
  Sum-types --> Pattern-matching
  Pattern-matching --> Maybe
  Booleans --> Maybe
  Maybe --> Result
  Pattern-matching --> Parser
  Independents --> Function-composition
  Independents --> Function-chaining
  Independents --> Partial-application
  Partial-application --> Point-freestyle
  Function-composition --> Point-freestyle
  Function-chaining --> Point-freestyle
  Point-freestyle --> Operator-functions
  Independents --> Bitwise-operators
  Independents --> Conversions
  Independents --> Posix-time
Loading