spotifyovercastrssapple-podcasts

Metaphors

Some common metaphors for Elm's Universal Pattern (Applicative Pattern).

  • Mapping
  • Combining
  • Lifting
  • Wrapping and unwrapping boxes

Examples

  • Random generators
  • Apply mapping functions to vanilla value functions to keep things clean

Tips

  • Separate branching code from doing code (discussed in-depth in Joël's blog post Problem Solving with Maybe)
  • Stay at one level of abstraction

Record constructors

Some more blog posts by Joël that related to Elm's Universal Pattern:

Joël's journey to building a parser combinator:

  • Nested cases - https://ellie-app.com/b9nGmZVp9Vca1
  • Extracted Result functions - https://ellie-app.com/b9qtqTf8zYda1
  • Introducing a Parser alias and map2 - https://ellie-app.com/b9MwZ3y4t8ra1
  • Re-implementing with elm/parser - https://ellie-app.com/b9NZhkTGdfya1
  • Getting Unstuck with Elm JSON Decoders - because mapping is universal, you can solve equivalent problems with the same pattern (described in this post)