summaryrefslogtreecommitdiff
path: root/docs/examples/gadts.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-12-10 11:14:46 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-12-10 11:14:46 -0800
commitf40541788957c257ee8b4035e0063a8a48945c11 (patch)
treedf574bd0aefe1e809fb890e42cdf2bf189659cfa /docs/examples/gadts.scala
parent0c927046dc5df974e6c39187107cf3548825282b (diff)
parent27a38602decb891399fc9868b4dd7135f6e1ec2c (diff)
downloadscala-f40541788957c257ee8b4035e0063a8a48945c11.tar.gz
scala-f40541788957c257ee8b4035e0063a8a48945c11.tar.bz2
scala-f40541788957c257ee8b4035e0063a8a48945c11.zip
Merge pull request #3248 from adriaanm/dist-cleanup-licenses
Clean up Scala distribution a bit.
Diffstat (limited to 'docs/examples/gadts.scala')
-rw-r--r--docs/examples/gadts.scala22
1 files changed, 0 insertions, 22 deletions
diff --git a/docs/examples/gadts.scala b/docs/examples/gadts.scala
deleted file mode 100644
index d2792f4ada..0000000000
--- a/docs/examples/gadts.scala
+++ /dev/null
@@ -1,22 +0,0 @@
-package examples
-
-object gadts extends Application {
-
- 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]
-
- def eval[T](t: Term[T]): T = t match {
- case Lit(n) => n
- case Succ(u) => eval(u) + 1
- case IsZero(u) => eval(u) == 0
- case If(c, u1, u2) => eval(if (eval(c)) u1 else u2)
- }
- println(
- eval(If(IsZero(Lit(1)), Lit(41), Succ(Lit(41)))))
-}
-