Generalization versus implementation

  • ArrayList
  • Seq
  • ListLike
  • Why it matters

Apart from the fiddly distinction regarding return type polymorphism, a major difference between an “algebra” and an “interface” is that algebras tend to be descriptive, and interfaces tend to be more prescriptive.

Sign up for access to the full page, plus the complete archive and all the latest content.