summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testdata/language-features/as-pattern/as-pattern01.lc8
-rw-r--r--testdata/language-features/as-pattern/as-pattern01.out1
-rw-r--r--testdata/language-features/as-pattern/as-pattern01.reject.wip.lc4
-rw-r--r--testdata/language-features/as-pattern/as-pattern02.reject.lc3
-rw-r--r--testdata/language-features/as-pattern/as-pattern02.reject.out3
-rw-r--r--testdata/language-features/as-pattern/as-pattern02.wip.lc7
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 @@
1f y@(x:xs) = x:y
2
3g 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
7main :: Bool
8main = 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 @@
main \ 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 @@
1g x@1@3 y = x + y
2
3f 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
2f 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 @@
1multiple pattern vars:
2x is defined at testdata/language-features/as-pattern/as-pattern02.reject.lc 2:6-2:7
3x 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
3f e = case e of
4 xs@(x:rest) -> if x==0 then rest else xs
5
6main :: Bool
7main = f [0,1] == [1] && f [1] == [1]