Skip to content

Commit af9e7f0

Browse files
authored
Merge pull request #8185 from dotty-staging/quoted-semantics
Add test
2 parents b2ca434 + 51b5362 commit af9e7f0

File tree

2 files changed

+427
-0
lines changed

2 files changed

+427
-0
lines changed

tests/run/quoted-sematics-1.check

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
Input: Nat(1)
2+
Type: NatType
3+
Result: Nat(1)
4+
5+
Failed to type Nat(-1) at level 0 with enviroment Set()
6+
Failed to typechecks: Nat(-1)
7+
8+
Input: Box(Nat(2))
9+
Type: BoxType(NatType)
10+
Result: Box(Nat(2))
11+
12+
Input: Lift(Nat(3))
13+
Type: BoxType(NatType)
14+
Step: Box(Nat(3))
15+
Result: Box(Nat(3))
16+
17+
Input: Lambda(`x0`,NatType,Ref(`x0`))
18+
Type: LambdaType(NatType,NatType)
19+
Result: Lambda(`x0`,NatType,Ref(`x0`))
20+
21+
Input: App(Lambda(`x0`,NatType,Ref(`x0`)),Nat(4))
22+
Type: NatType
23+
Step: Nat(4)
24+
Result: Nat(4)
25+
26+
Input: Box(Splice(Box(Nat(1))))
27+
Type: BoxType(NatType)
28+
Step: Box(Nat(1))
29+
Result: Box(Nat(1))
30+
31+
Input: Box(Splice(Lift(Nat(1))))
32+
Type: BoxType(NatType)
33+
Step: Box(Splice(Box(Nat(1))))
34+
Step: Box(Nat(1))
35+
Result: Box(Nat(1))
36+
37+
Input: Box(Splice(Box(App(Lambda(`x0`,NatType,Ref(`x0`)),Splice(Lift(Nat(4)))))))
38+
Type: BoxType(NatType)
39+
Step: Box(Splice(Box(App(Lambda(`x0`,NatType,Ref(`x0`)),Splice(Box(Nat(4)))))))
40+
Step: Box(Splice(Box(App(Lambda(`x0`,NatType,Ref(`x0`)),Nat(4)))))
41+
Step: Box(App(Lambda(`x0`,NatType,Ref(`x0`)),Nat(4)))
42+
Result: Box(App(Lambda(`x0`,NatType,Ref(`x0`)),Nat(4)))
43+
44+
Input: Match(Box(Nat(2)),PNat(2),Nat(0),Nat(1))
45+
Type: NatType
46+
Step: Nat(0)
47+
Result: Nat(0)
48+
49+
Input: Match(Box(Nat(2)),PNat(3),Nat(1),Nat(0))
50+
Type: NatType
51+
Step: Nat(0)
52+
Result: Nat(0)
53+
54+
Input: Match(Box(Nat(2)),PLit(`x0`),Ref(`x0`),Nat(0))
55+
Type: NatType
56+
Step: Nat(2)
57+
Result: Nat(2)
58+
59+
Input: Match(Box(Nat(2)),PBind(`x0`),Ref(`x0`),Box(Nat(0)))
60+
Type: BoxType(NatType)
61+
Step: Box(Nat(2))
62+
Result: Box(Nat(2))
63+
64+
Input: Match(Box(Lambda(`y0`,NatType,Ref(`y0`))),PBind(`x0`),Ref(`x0`),Box(Lambda(`z0`,NatType,Nat(2))))
65+
Type: BoxType(LambdaType(NatType,NatType))
66+
Step: Box(Lambda(`y1`,NatType,Ref(`y1`)))
67+
Result: Box(Lambda(`y1`,NatType,Ref(`y1`)))
68+
69+
Input: Match(Box(App(Lambda(`y0`,NatType,Ref(`y0`)),Nat(4))),PApp(PFun(`f0`),PBind(`x0`)),App(Ref(`f0`),Ref(`x0`)),Box(Nat(3)))
70+
Type: BoxType(NatType)
71+
Step: App(Lambda(`f2`,BoxType(NatType),Box(Splice(Ref(`f2`)))),Box(Nat(4)))
72+
Step: Box(Splice(Box(Nat(4))))
73+
Step: Box(Nat(4))
74+
Result: Box(Nat(4))
75+
76+
Failed to type Lambda(`x0`,NatType,Ref(`x0`)) at level 1 with enviroment Set(EnvVar(`x0`,1,NatType))
77+
Failed to type Lambda(`x0`,NatType,Lambda(`x0`,NatType,Ref(`x0`))) at level 1 with enviroment Set()
78+
Failed to type Box(Lambda(`x0`,NatType,Lambda(`x0`,NatType,Ref(`x0`)))) at level 0 with enviroment Set()
79+
Failed to typechecks: Box(Lambda(`x0`,NatType,Lambda(`x0`,NatType,Ref(`x0`))))
80+
81+
Input: Fix(Lambda(`x0`,NatType,Nat(1)))
82+
Type: NatType
83+
Step: Nat(1)
84+
Result: Nat(1)
85+
86+
Input: App(Fix(Lambda(`f0`,LambdaType(NatType,NatType),Lambda(`n0`,NatType,Match(Lift(Ref(`n0`)),PNat(0),Nat(1),App(Lambda(`a0`,NatType,App(Ref(`f0`),Ref(`a0`))),Nat(0)))))),Nat(1))
87+
Type: NatType
88+
Step: App(Lambda(`n0`,NatType,Match(Lift(Ref(`n0`)),PNat(0),Nat(1),App(Lambda(`a0`,NatType,App(Fix(Lambda(`f3`,LambdaType(NatType,NatType),Lambda(`n1`,NatType,Match(Lift(Ref(`n1`)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Ref(`f3`),Ref(`a1`))),Nat(0)))))),Ref(`a0`))),Nat(0)))),Nat(1))
89+
Step: Match(Lift(Nat(1)),PNat(0),Nat(1),App(Lambda(`a0`,NatType,App(Fix(Lambda(`f3`,LambdaType(NatType,NatType),Lambda(`n1`,NatType,Match(Lift(Ref(`n1`)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Ref(`f3`),Ref(`a1`))),Nat(0)))))),Ref(`a0`))),Nat(0)))
90+
Step: Match(Box(Nat(1)),PNat(0),Nat(1),App(Lambda(`a0`,NatType,App(Fix(Lambda(`f3`,LambdaType(NatType,NatType),Lambda(`n1`,NatType,Match(Lift(Ref(`n1`)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Ref(`f3`),Ref(`a1`))),Nat(0)))))),Ref(`a0`))),Nat(0)))
91+
Step: App(Lambda(`a0`,NatType,App(Fix(Lambda(`f3`,LambdaType(NatType,NatType),Lambda(`n1`,NatType,Match(Lift(Ref(`n1`)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Ref(`f3`),Ref(`a1`))),Nat(0)))))),Ref(`a0`))),Nat(0))
92+
Step: App(Fix(Lambda(`f3`,LambdaType(NatType,NatType),Lambda(`n1`,NatType,Match(Lift(Ref(`n1`)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Ref(`f3`),Ref(`a1`))),Nat(0)))))),Nat(0))
93+
Step: App(Lambda(`n1`,NatType,Match(Lift(Ref(`n1`)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Fix(Lambda(`f4`,LambdaType(NatType,NatType),Lambda(`n2`,NatType,Match(Lift(Ref(`n2`)),PNat(0),Nat(1),App(Lambda(`a2`,NatType,App(Ref(`f4`),Ref(`a2`))),Nat(0)))))),Ref(`a1`))),Nat(0)))),Nat(0))
94+
Step: Match(Lift(Nat(0)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Fix(Lambda(`f4`,LambdaType(NatType,NatType),Lambda(`n2`,NatType,Match(Lift(Ref(`n2`)),PNat(0),Nat(1),App(Lambda(`a2`,NatType,App(Ref(`f4`),Ref(`a2`))),Nat(0)))))),Ref(`a1`))),Nat(0)))
95+
Step: Match(Box(Nat(0)),PNat(0),Nat(1),App(Lambda(`a1`,NatType,App(Fix(Lambda(`f4`,LambdaType(NatType,NatType),Lambda(`n2`,NatType,Match(Lift(Ref(`n2`)),PNat(0),Nat(1),App(Lambda(`a2`,NatType,App(Ref(`f4`),Ref(`a2`))),Nat(0)))))),Ref(`a1`))),Nat(0)))
96+
Step: Nat(1)
97+
Result: Nat(1)
98+
99+
Input: App(Lambda(`x0`,BoxType(NatType),Match(Ref(`x0`),PApp(PFun(`f0`),PBind(`z0`)),App(Ref(`f0`),Ref(`x0`)),Box(Nat(4)))),Box(App(Lambda(`a0`,NatType,App(Lambda(`b0`,NatType,Ref(`b0`)),Ref(`a0`))),Nat(2))))
100+
Type: BoxType(NatType)
101+
Step: Match(Box(App(Lambda(`a3`,NatType,App(Lambda(`b1`,NatType,Ref(`b1`)),Ref(`a3`))),Nat(2))),PApp(PFun(`f0`),PBind(`z0`)),App(Ref(`f0`),Box(App(Lambda(`a3`,NatType,App(Lambda(`b1`,NatType,Ref(`b1`)),Ref(`a3`))),Nat(2)))),Box(Nat(4)))
102+
Step: App(Lambda(`f6`,BoxType(NatType),Box(App(Lambda(`b2`,NatType,Ref(`b2`)),Splice(Ref(`f6`))))),Box(App(Lambda(`a3`,NatType,App(Lambda(`b1`,NatType,Ref(`b1`)),Ref(`a3`))),Nat(2))))
103+
Step: Box(App(Lambda(`b2`,NatType,Ref(`b2`)),Splice(Box(App(Lambda(`a4`,NatType,App(Lambda(`b3`,NatType,Ref(`b3`)),Ref(`a4`))),Nat(2))))))
104+
Step: Box(App(Lambda(`b2`,NatType,Ref(`b2`)),App(Lambda(`a4`,NatType,App(Lambda(`b3`,NatType,Ref(`b3`)),Ref(`a4`))),Nat(2))))
105+
Result: Box(App(Lambda(`b2`,NatType,Ref(`b2`)),App(Lambda(`a4`,NatType,App(Lambda(`b3`,NatType,Ref(`b3`)),Ref(`a4`))),Nat(2))))
106+

0 commit comments

Comments
 (0)