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