diff options
6 files changed, 26 insertions, 0 deletions
diff --git a/testdata/language-features/as-pattern/as-pattern01.lc b/testdata/language-features/as-pattern/as-pattern01.lc new file mode 100644 index 00000000..5bb6c9b0 --- /dev/null +++ b/testdata/language-features/as-pattern/as-pattern01.lc | |||
@@ -0,0 +1,8 @@ | |||
1 | f y@(x:xs) = x:y | ||
2 | |||
3 | g x@3 y = x + y | ||
4 | |||
5 | --main has different type as expected | ||
6 | --main :: {a} -> {b : 'Num ('MatVecScalarElem a)} -> {c : 'Num a} -> {d:'Int} -> {e : 'Num a}->'Bool | ||
7 | main :: Bool | ||
8 | main = g 3 1 == 5 | ||
diff --git a/testdata/language-features/as-pattern/as-pattern01.out b/testdata/language-features/as-pattern/as-pattern01.out new file mode 100644 index 00000000..97b40b5c --- /dev/null +++ b/testdata/language-features/as-pattern/as-pattern01.out | |||
@@ -0,0 +1 @@ | |||
[32m[32mmain[m[m \ No newline at end of file | |||
diff --git a/testdata/language-features/as-pattern/as-pattern01.reject.wip.lc b/testdata/language-features/as-pattern/as-pattern01.reject.wip.lc new file mode 100644 index 00000000..45b43852 --- /dev/null +++ b/testdata/language-features/as-pattern/as-pattern01.reject.wip.lc | |||
@@ -0,0 +1,4 @@ | |||
1 | g x@1@3 y = x + y | ||
2 | |||
3 | f y@[]@(x:xs) = y:x | ||
4 | |||
diff --git a/testdata/language-features/as-pattern/as-pattern02.reject.lc b/testdata/language-features/as-pattern/as-pattern02.reject.lc new file mode 100644 index 00000000..b9adf91c --- /dev/null +++ b/testdata/language-features/as-pattern/as-pattern02.reject.lc | |||
@@ -0,0 +1,3 @@ | |||
1 | |||
2 | f x@[x:xs] = x:xs | ||
3 | |||
diff --git a/testdata/language-features/as-pattern/as-pattern02.reject.out b/testdata/language-features/as-pattern/as-pattern02.reject.out new file mode 100644 index 00000000..4d60dbcb --- /dev/null +++ b/testdata/language-features/as-pattern/as-pattern02.reject.out | |||
@@ -0,0 +1,3 @@ | |||
1 | multiple pattern vars: | ||
2 | x is defined at testdata/language-features/as-pattern/as-pattern02.reject.lc 2:6-2:7 | ||
3 | x is defined at testdata/language-features/as-pattern/as-pattern02.reject.lc 2:3-2:4 | ||
diff --git a/testdata/language-features/as-pattern/as-pattern02.wip.lc b/testdata/language-features/as-pattern/as-pattern02.wip.lc new file mode 100644 index 00000000..b8164562 --- /dev/null +++ b/testdata/language-features/as-pattern/as-pattern02.wip.lc | |||
@@ -0,0 +1,7 @@ | |||
1 | |||
2 | -- https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-580003.17 | ||
3 | f e = case e of | ||
4 | xs@(x:rest) -> if x==0 then rest else xs | ||
5 | |||
6 | main :: Bool | ||
7 | main = f [0,1] == [1] && f [1] == [1] | ||