summaryrefslogtreecommitdiff
path: root/testsuite/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/runtime')
-rw-r--r--testsuite/runtime/typecheck/Graph.gf4
-rw-r--r--testsuite/runtime/typecheck/hard-unification.gfs2
-rw-r--r--testsuite/runtime/typecheck/hard-unification.gfs.gold5
-rw-r--r--testsuite/runtime/typecheck/implicit-arguments.gfs3
-rw-r--r--testsuite/runtime/typecheck/implicit-arguments.gfs.gold39
-rw-r--r--testsuite/runtime/typecheck/typecheck.gfs.gold60
6 files changed, 70 insertions, 43 deletions
diff --git a/testsuite/runtime/typecheck/Graph.gf b/testsuite/runtime/typecheck/Graph.gf
index a44cf35b5..4f18cd589 100644
--- a/testsuite/runtime/typecheck/Graph.gf
+++ b/testsuite/runtime/typecheck/Graph.gf
@@ -16,4 +16,6 @@ fun
link : ({n,m} : Node) -> Link n m -> Path n m ;
join : ({n,p,m} : Node) -> Link n p -> Path p m -> Path n m ;
-} \ No newline at end of file
+
+ id : ({n} : Node) -> Link n n ;
+}
diff --git a/testsuite/runtime/typecheck/hard-unification.gfs b/testsuite/runtime/typecheck/hard-unification.gfs
index 512163c0f..0e257f2a4 100644
--- a/testsuite/runtime/typecheck/hard-unification.gfs
+++ b/testsuite/runtime/typecheck/hard-unification.gfs
@@ -1,3 +1,3 @@
-i testsuite/runtime/typecheck/Hard.gf
+i -src testsuite/runtime/typecheck/Hard.gf
ai s ? (app ?) ex
ai s ? (app ?) ?
diff --git a/testsuite/runtime/typecheck/hard-unification.gfs.gold b/testsuite/runtime/typecheck/hard-unification.gfs.gold
index c83c4f620..9ca737384 100644
--- a/testsuite/runtime/typecheck/hard-unification.gfs.gold
+++ b/testsuite/runtime/typecheck/hard-unification.gfs.gold
@@ -1,5 +1,6 @@
-Expression: s (\v0 -> v0) (app (\v0 -> v0)) ex
-Type: S
+Expression: s (\v0 -> v0) (app (\v0 -> v0)) ex
+Type: S
+Probability: 1.0
Meta variable(s) ?2 should be resolved
in the expression: s ?2 (app ?2) ?4
diff --git a/testsuite/runtime/typecheck/implicit-arguments.gfs b/testsuite/runtime/typecheck/implicit-arguments.gfs
index c2be00d21..5667a2647 100644
--- a/testsuite/runtime/typecheck/implicit-arguments.gfs
+++ b/testsuite/runtime/typecheck/implicit-arguments.gfs
@@ -6,4 +6,5 @@ ai <? : Label {n1}>
ai <? : Link {n1} {n2}>
ai <\x -> x : ({m},n : Node) -> Node>
ai <n1 : ({m} : Node) -> Node>
-ai <? : ({m} : Node) -> Node> \ No newline at end of file
+ai <? : ({m} : Node) -> Node>
+ai <link id : Path n1 n1>
diff --git a/testsuite/runtime/typecheck/implicit-arguments.gfs.gold b/testsuite/runtime/typecheck/implicit-arguments.gfs.gold
index 85448469a..e0a83f5b6 100644
--- a/testsuite/runtime/typecheck/implicit-arguments.gfs.gold
+++ b/testsuite/runtime/typecheck/implicit-arguments.gfs.gold
@@ -1,22 +1,33 @@
-Expression: join {n1} {n2} {n3} l12 (link {n2} {n3} l23)
-Type: Path n1 n3
+Expression: join {n1} {n2} {n3} l12 (link {n2} {n3} l23)
+Type: Path n1 n3
+Probability: 1.0000000000000002e-2
-Expression: join {n1} {n2} {n3} l12 (link {n2} {n3} l23)
-Type: Path n1 n3
+Expression: join {n1} {n2} {n3} l12 (link {n2} {n3} l23)
+Type: Path n1 n3
+Probability: 1.0000000000000002e-2
-Expression: <?2 : Label {?1}>
-Type: Label {?1}
+Expression: <?2 : Label {?1}>
+Type: Label {?1}
+Probability: 1.0
-Expression: <?2 : Label {n1}>
-Type: Label {n1}
+Expression: <?2 : Label {n1}>
+Type: Label {n1}
+Probability: 1.0
{n1} is implicit argument but not implicit argument is expected here
-Expression: <\{_1}, x -> x : ({m} : Node) -> (n : Node) -> Node>
-Type: ({m} : Node) -> (n : Node) -> Node
+Expression: <\{_1}, x -> x : ({m} : Node) -> (n : Node) -> Node>
+Type: ({m} : Node) -> (n : Node) -> Node
+Probability: 1.0
-Expression: <\{_1} -> n1 : ({m} : Node) -> Node>
-Type: ({m} : Node) -> Node
+Expression: <\{_1} -> n1 : ({m} : Node) -> Node>
+Type: ({m} : Node) -> Node
+Probability: 1.0
-Expression: <\{_1} -> ?1 : ({m} : Node) -> Node>
-Type: ({m} : Node) -> Node
+Expression: <\{_1} -> ?1 : ({m} : Node) -> Node>
+Type: ({m} : Node) -> Node
+Probability: 1.0
+
+Expression: <link {n1} {n1} (id {n1}) : Path n1 n1>
+Type: Path n1 n1
+Probability: 1.0
diff --git a/testsuite/runtime/typecheck/typecheck.gfs.gold b/testsuite/runtime/typecheck/typecheck.gfs.gold
index c7f28b75b..048b6d892 100644
--- a/testsuite/runtime/typecheck/typecheck.gfs.gold
+++ b/testsuite/runtime/typecheck/typecheck.gfs.gold
@@ -12,39 +12,48 @@ unknown category of function identifier unknown_fun
Category unknown_cat is not in scope
Cannot infer the type of expression \x -> x
A function type is expected for the expression \x -> x instead of type Int
-Expression: append (succ (succ zero)) (succ zero) (vector (succ (succ zero))) (vector (succ zero))
-Type: Vector (succ (succ (succ zero)))
+Expression: append (succ (succ zero)) (succ zero) (vector (succ (succ zero))) (vector (succ zero))
+Type: Vector (succ (succ (succ zero)))
+Probability: 3.532127097800926e-8
-Expression: <\m, n -> vector (plus m n) : (m : Nat) -> (n : Nat) -> Vector (plus m n)>
-Type: (m : Nat) -> (n : Nat) -> Vector (plus m n)
+Expression: <\m, n -> vector (plus m n) : (m : Nat) -> (n : Nat) -> Vector (plus m n)>
+Type: (m : Nat) -> (n : Nat) -> Vector (plus m n)
+Probability: 1.0
-Expression: mkMorph (\x -> succ zero)
-Type: Morph (\v0 -> succ zero)
+Expression: mkMorph (\x -> succ zero)
+Type: Morph (\v0 -> succ zero)
+Probability: 0.5
-Expression: idMorph (mkMorph (\x -> x))
-Type: Nat
+Expression: idMorph (mkMorph (\x -> x))
+Type: Nat
+Probability: 0.125
Couldn't match expected type Morph (\v0 -> v0)
against inferred type Morph (\v0 -> succ zero)
In the expression: mkMorph (\x -> succ zero)
-Expression: <append zero (succ zero) : Vector zero -> Vector (succ zero) -> Vector (succ zero)>
-Type: Vector zero -> Vector (succ zero) -> Vector (succ zero)
+Expression: <append zero (succ zero) : Vector zero -> Vector (succ zero) -> Vector (succ zero)>
+Type: Vector zero -> Vector (succ zero) -> Vector (succ zero)
+Probability: 1.0
-Expression: <\n, v1, n1, v2 -> append n n1 v1 v2 : (n : Nat) -> Vector n -> (m : Nat) -> Vector m -> Vector (plus n m)>
-Type: (n : Nat) -> Vector n -> (m : Nat) -> Vector m -> Vector (plus n m)
+Expression: <\n, v1, n1, v2 -> append n n1 v1 v2 : (n : Nat) -> Vector n -> (m : Nat) -> Vector m -> Vector (plus n m)>
+Type: (n : Nat) -> Vector n -> (m : Nat) -> Vector m -> Vector (plus n m)
+Probability: 1.0
Category EQ is not in scope
-Expression: <\v1, v2 -> cmpVector ?7 v1 v2 : Vector ?7 -> Vector ?7 -> Int> (vector ?7)
-Type: Vector ?7 -> Int
+Expression: <\v1, v2 -> cmpVector ?7 v1 v2 : Vector ?7 -> Vector ?7 -> Int> (vector ?7)
+Type: Vector ?7 -> Int
+Probability: 0.3333333333333333
Couldn't match expected type (m : Nat) -> Vector ?1
against inferred type (n : Nat) -> Vector n
In the expression: vector
-Expression: f1 (\v -> v) vector
-Type: Int
+Expression: f1 (\v -> v) vector
+Type: Int
+Probability: 5.555555555555555e-2
-Expression: f1 (\v -> succ v) (\x -> vector (succ x))
-Type: Int
+Expression: f1 (\v -> succ v) (\x -> vector (succ x))
+Type: Int
+Probability: 0.16666666666666666
Couldn't match expected type Vector x
against inferred type Vector (succ x)
@@ -52,22 +61,25 @@ In the expression: vector (succ x)
Couldn't match expected type Vector n
against inferred type Vector (succ n)
In the expression: vector (succ n)
-Expression: h ?2 (u0 ?2)
-Type: Int
+Expression: h ?2 (u0 ?2)
+Type: Int
+Probability: 8.333333333333333e-2
Couldn't match expected type U ?2 ?2
against inferred type U ?2 (succ ?2)
In the expression: u1 ?2
Meta variable(s) ?11 should be resolved
in the expression: cmpVector (succ (succ zero)) (vector (succ (succ zero))) (append ?11 (succ zero) (vector ?11) (vector (succ zero)))
-Expression: diff (succ (succ (succ zero))) (succ (succ zero)) (vector (succ (succ (succ (succ (succ zero)))))) (vector (succ (succ (succ zero))))
-Type: Vector (succ (succ zero))
+Expression: diff (succ (succ (succ zero))) (succ (succ zero)) (vector (succ (succ (succ (succ (succ zero)))))) (vector (succ (succ (succ zero))))
+Type: Vector (succ (succ zero))
+Probability: 2.1558392930913853e-12
Couldn't match expected type Vector (plus (succ (succ (succ zero))) (succ (succ zero)))
against inferred type Vector (succ (succ (succ (succ zero))))
In the expression: vector (succ (succ (succ (succ zero))))
-Expression: idMorph (mkMorph2 (\x -> x) (vector zero))
-Type: Nat
+Expression: idMorph (mkMorph2 (\x -> x) (vector zero))
+Type: Nat
+Probability: 1.0416666666666666e-2
Couldn't match expected type Vector zero
against inferred type Vector n