From ec349d42703a8a31715cf97b44845ba3dd7a6805 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Tue, 20 Aug 2019 22:20:59 +0200 Subject: Propagate type information in Value::app() --- tests_buffer | 1 + 1 file changed, 1 insertion(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index c6366ba..15dc9c5 100644 --- a/tests_buffer +++ b/tests_buffer @@ -41,5 +41,6 @@ failure/ merge {x=...,y=...} .x MergeBoolIsNotUnion merge x True MergeOptionalIsNotUnion merge x (Some 1) + SortInLet let x = Sort in 1 equivalence: -- cgit v1.2.3 From d9e3bcca9b4350cbc1db2545d7ed28dde4e12be4 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 23 Aug 2019 18:34:43 +0200 Subject: Keep type information after RecursiveRecordTypeMerge --- tests_buffer | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 15dc9c5..511ea49 100644 --- a/tests_buffer +++ b/tests_buffer @@ -32,7 +32,9 @@ variables across import boundaries typecheck: something that involves destructuring a recordtype after merge add some of the more complicated Prelude tests back, like List/enumerate -failure on old-style optional literal +success/ + regression/ + RecursiveRecordTypeMergeTripleCollision { x : { a : Bool } } ⩓ { x : { b : Bool } } ⩓ { x : { c : Bool } } failure/ merge { x = λ(x : Bool) → x } (< x: Bool | y: Natural >.x True) merge { x = λ(_ : Bool) → _, y = 1 } < x = True | y > -- cgit v1.2.3 From 98399997cf289d802fbed674558665547cf73d59 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 25 Aug 2019 16:09:55 +0200 Subject: Keep type information through normalization --- tests_buffer | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 511ea49..93eb626 100644 --- a/tests_buffer +++ b/tests_buffer @@ -35,6 +35,9 @@ add some of the more complicated Prelude tests back, like List/enumerate success/ regression/ RecursiveRecordTypeMergeTripleCollision { x : { a : Bool } } ⩓ { x : { b : Bool } } ⩓ { x : { c : Bool } } + somehow test that ({ x = { z = 1 } } ∧ { x = { y = 2 } }).x has a type + somehow test that the recordtype from List/indexed has a type in both empty and nonempty cases + somehow test types added to the Foo/build closures failure/ merge { x = λ(x : Bool) → x } (< x: Bool | y: Natural >.x True) merge { x = λ(_ : Bool) → _, y = 1 } < x = True | y > -- cgit v1.2.3 From bf37fd9da3782134ca4bca9567c34bbee81784b9 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 25 Aug 2019 21:16:38 +0200 Subject: Rework apply_builtin to enforce preservation of type information --- tests_buffer | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 93eb626..1ad880e 100644 --- a/tests_buffer +++ b/tests_buffer @@ -28,6 +28,8 @@ variables across import boundaries TextLitNested1 "${""}${x}" TextLitNested2 "${"${x}"}" TextLitNested3 "${"${""}"}${x}" + regression/ + NaturalFoldExtraArg Natural/fold 0 (Bool -> Bool) (λ(_ : (Bool -> Bool)) → λ(_ : Bool) → True) (λ(_ : Bool) → False) True typecheck: something that involves destructuring a recordtype after merge -- cgit v1.2.3 From c13a100c36c3b54d76dba2207aa75fa6736ebadc Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Mon, 26 Aug 2019 23:18:11 +0200 Subject: Remove rule aliasing --- tests_buffer | 1 + 1 file changed, 1 insertion(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 1ad880e..67de9eb 100644 --- a/tests_buffer +++ b/tests_buffer @@ -9,6 +9,7 @@ success/ PrecedenceAll2 a b != c == d * e ⩓ f ⫽ g ∧ h && i # j ++ k + l || m ? n LetNoAnnot let x = y in e LetAnnot let x: T = y in e + EmptyRecordLiteral {=} failure/ AssertNoAnnotation assert -- cgit v1.2.3 From aba7e62e49ac9dead0a2868f739091d2d15ff0d1 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 31 Aug 2019 21:59:39 +0200 Subject: Implement parsing of `toMap` keyword --- tests_buffer | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 67de9eb..446c3f0 100644 --- a/tests_buffer +++ b/tests_buffer @@ -10,6 +10,8 @@ success/ LetNoAnnot let x = y in e LetAnnot let x: T = y in e EmptyRecordLiteral {=} + ToMap toMap x + ToMapAnnot toMap x : T failure/ AssertNoAnnotation assert -- cgit v1.2.3 From befc4cda44a4f1e26aa0a301dfc92b455cbcbf18 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 31 Aug 2019 22:37:48 +0200 Subject: Don't URL-decode path segments --- tests_buffer | 1 + 1 file changed, 1 insertion(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 446c3f0..6597d69 100644 --- a/tests_buffer +++ b/tests_buffer @@ -3,6 +3,7 @@ parser: ./"a%20b" text interpolation and escapes projection by expression unit tests +fix fakeurlencode test success/ operators/ PrecedenceAll1 a ? b || c + d ++ e # f && g ∧ h ⫽ i ⩓ j * k == l != m n.o -- cgit v1.2.3