Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sealed trait Expr
- case class N(n: Int) extends Expr
- case class Var(x: String, a: Int, n: Int) extends Expr
- case class Add(n: Expr*) extends Expr
- case class Mul(n: Expr*) extends Expr
- def add(xs: List[Expr]): Expr = xs match {
- case List() => N(0)
- case List(xs) => xs
- case xs => Add(xs: _*) // Add(List(N(1), N(2), Var(x,2,2)))
- }
- println(add(List(N(1),N(2),Var("x",2,2))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement