diff options
author | michelou <michelou@epfl.ch> | 2008-05-20 10:17:41 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2008-05-20 10:17:41 +0000 |
commit | 44fd5e7272f7fbcc901d1ecaf563351217a50e7d (patch) | |
tree | c9b0ccf1aaceda7e7a066e414c8df16fad173b6e /test/files/run/gadts.scala | |
parent | 5f450da638cd4518ee4993bcee03db43387e5ad6 (diff) | |
download | scala-44fd5e7272f7fbcc901d1ecaf563351217a50e7d.tar.gz scala-44fd5e7272f7fbcc901d1ecaf563351217a50e7d.tar.bz2 scala-44fd5e7272f7fbcc901d1ecaf563351217a50e7d.zip |
int -> Int, etc..
Diffstat (limited to 'test/files/run/gadts.scala')
-rw-r--r-- | test/files/run/gadts.scala | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/test/files/run/gadts.scala b/test/files/run/gadts.scala index 36d6fc9530..11b094d99a 100644 --- a/test/files/run/gadts.scala +++ b/test/files/run/gadts.scala @@ -1,10 +1,10 @@ -abstract class Term[T]; -case class Lit(x: int) extends Term[int]; -case class Succ(t: Term[int]) extends Term[int]; -case class IsZero(t: Term[int]) extends Term[boolean]; -case class If[T](c: Term[boolean], +abstract class Term[T] +case class Lit(x: Int) extends Term[Int] +case class Succ(t: Term[Int]) extends Term[Int] +case class IsZero(t: Term[Int]) extends Term[Boolean] +case class If[T](c: Term[Boolean], t1: Term[T], - t2: Term[T]) extends Term[T]; + t2: Term[T]) extends Term[T] object Test extends Application { def eval[T](t: Term[T]): T = t match { @@ -13,7 +13,5 @@ object Test extends Application { case IsZero(u) => eval(u) == 0 case If(c, u1, u2) => eval(if (eval(c)) u1 else u2) } - Console.println( - eval(If(IsZero(Lit(1)), Lit(41), Succ(Lit(41))))) + println(eval(If(IsZero(Lit(1)), Lit(41), Succ(Lit(41))))) } - |