Does the order of alternatives in a Scala match expression matter in terms of performance?
问题 In particular with respect to pattern matching and case classes. Consider the following: abstract class Expr case class Var(name: String) extends Expr case class Number(num: Double) extends Expr case class UnOp(operator: String, arg: Expr) extends Expr case class BinOp(operator: String, left: Expr, right: Expr) extends Expr object Expr { def simplify(expr: Expr): Expr = expr match { // Some basic simplification rules... case UnOp("-", UnOp("-", e)) => simplify(e) // Double negation case BinOp