added testcases for evaluation with suspension

This commit is contained in:
krasimir
2009-07-07 11:40:14 +00:00
parent a25038f4d3
commit 02b22b8b78
3 changed files with 28 additions and 0 deletions

View File

@@ -11,6 +11,9 @@ def g2 1 x = x ;
fun g0 : Int -> Int -> Int ;
def g0 = g2 ;
fun g3 : Int -> (Int -> Int) ;
def g3 3 = g ;
fun const : Int -> Int -> Int ;
def const x _ = x ;
@@ -25,4 +28,14 @@ def dec zero = zero ;
dec (succ n) = n ;
dec n = err ; -- for fall through checking
fun plus : Nat -> Nat -> Nat ;
def plus err zero = err ;
plus m err = err ;
plus m zero = m ;
plus m (succ n) = plus (succ m) n ;
fun dec2 : Int -> Nat -> Nat ;
def dec2 0 zero = err ;
dec2 _ (succ n) = n ;
}

View File

@@ -27,3 +27,8 @@ pt -compute dec (succ (succ zero))
pt -compute dec (succ ?)
pt -compute \x -> dec x
pt -compute dec ?
pt -compute (\f -> f 0) (g3 ?)
pt -compute g (g2 ? 0)
pt -compute plus (succ zero) (succ zero)
pt -compute dec2 0 (succ zero)
pt -compute plus err (succ zero)

View File

@@ -48,3 +48,13 @@ succ zero
\v0 -> g v0
g ?
5