Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. sealed trait Expr
  2. case class N(n: Int) extends Expr
  3. case class Var(x: String, a: Int, n: Int) extends Expr
  4. case class Add(n: Expr*) extends Expr
  5. case class Mul(n: Expr*) extends Expr
  6.  
  7. def add(xs: List[Expr]): Expr = xs match {
  8. case List() => N(0)
  9. case List(xs) => xs
  10. case xs => Add(xs: _*) // Add(List(N(1), N(2), Var(x,2,2)))
  11. }
  12.  
  13. println(add(List(N(1),N(2),Var("x",2,2))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement