summaryrefslogtreecommitdiff
path: root/test/pending/pos/unappgadteval.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/pending/pos/unappgadteval.scala')
-rw-r--r--test/pending/pos/unappgadteval.scala12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/pending/pos/unappgadteval.scala b/test/pending/pos/unappgadteval.scala
index 0c22c71dee..007d57d7ea 100644
--- a/test/pending/pos/unappgadteval.scala
+++ b/test/pending/pos/unappgadteval.scala
@@ -11,21 +11,21 @@ class App[b, c] (val f : Term[b => c], val e : Term[b]) extends Term[c]
object Suc{ def unapply(a:Suc) = true }
class Suc () extends Term[int => int]
// Environments :
-abstract class Env {
+abstract class Env {
def apply[a](v : Var[a]): a
- def extend[a](v : Var[a], x : a) = new Env {
- def apply[b](w: Var[b]): b = w match {
+ def extend[a](v : Var[a], x : a) = new Env {
+ def apply[b](w: Var[b]): b = w match {
case _ : v.type => x // v eq w, hence a = b
case _ => Env.this.apply(w)
}}
}
-object empty extends Env {
- def apply[a](x : Var[a]): a = throw new Error("not found : "+x.name)
+object empty extends Env {
+ def apply[a](x : Var[a]): a = throw new Error("not found : "+x.name)
}
object Test {
// Evaluation :
-def eval[a](t : Term[a], env : Env): a = t match {
+def eval[a](t : Term[a], env : Env): a = t match {
case v : Var[b] => env(v) // a = b
case n @ Num(value) => value // a = int
case i @ Suc() => { y: int => y + 1 } // a = int=>int