1. Introduction
  2. Prototype
  3. 1. Prototyping
  4. 2. Blocks
    1. 2.1. key
    2. 2.2. pad
    3. 2.3. display
    4. 2.4. calculator
    5. 2.5. attribution
    6. 2.6. page
  5. HTML/CSS to Elm
  6. 3. Translating
  7. 4. Views
    1. 4.1. View.Key
    2. 4.2. View.Pad
    3. 4.3. View.Display
    4. 4.4. View.Calculator
    5. 4.5. View.Attribution
    6. 4.6. View.Page
  8. 5. Reflections on the UI
  9. Application Logic
  10. 6. Domain Modeling
  11. 7. Rational Numbers
    1. 7.1. Representation
    2. 7.2. Constructors
    3. 7.3. Arithmetic
    4. 7.4. Conversion
    5. 7.5. Unit Tests
  12. 8. Evaluating Infix Expressions
    1. 8.1. Stack
    2. 8.2. Dijkstra's Shunting Yard Algorithm
    3. 8.3. Unit Tests
  13. 9. Calculator
    1. 9.1. Tokenizing Input
    2. 9.2. Displaying Output
    3. 9.3. Unit Tests
  14. Putting It All Together
  15. 10. UI + Application Logic
  16. Conclusion

How I Built freeCodeCamp's Calculator with Elm

Views

The blocks map to modules as follows:

BlockModule
keyView.Key
padView.Pad
displayView.Display
calculatorView.Calculator
attributionView.Attribution
pageView.Page