Leis da teoria da categoria em Scala
scala> :pastesealed trait Breakfast {}case object Eggs extends Breakfast {}case object Oatmeal extends Breakfast {}case object Toast extends Breakfast {}case object Coffee extends Breakfast {}val favoriteBreakfast: Person => Breakfast = { case John => Eggs case Mary => Coffee case Sam => Coffee}// Exiting paste mode, now interpreting.favoriteBreakfast: Person => Breakfast = <function1>
Ill Iguana