From b7f6c5778c3c980a452abd3da715996fa24d4449 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 23 Feb 2020 20:56:27 +0000 Subject: Prepare test buffer --- tests_buffer | 51 +++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index db63cde..c582689 100644 --- a/tests_buffer +++ b/tests_buffer @@ -1,3 +1,26 @@ +normalization/success/unit/TextShowEmpty Text/show "" +normalization/success/unit/TextLitNested1 λ(x: Text) → "${""}${x}" +normalization/success/unit/TextLitNested2 λ(x: Text) → "${"${x}"}" +normalization/success/unit/TextLitNested3 λ(x: Text) → "${"${""}"}${x}" +normalization/success/regression/NaturalFoldExtraArg Natural/fold 0 (Bool -> Bool) (λ(_ : (Bool -> Bool)) → λ(_ : Bool) → True) (λ(_ : Bool) → False) True +normalization/success/regression/TrickyBinderIdentity let T = Natural let ap = λ(f : T → List T) -> λ(x : T) -> f x in ap (λ(x : T) -> ap (λ(y : T) -> [x, y]) 1) 0 +parser/success/unit/LetNoAnnot let x = y in e +parser/success/unit/LetAnnot let x: T = y in e +parser/success/unit/EmptyRecordLiteral {=} +parser/success/unit/ToMap toMap x +parser/success/unit/ToMapAnnot toMap x : T +parser/success/unit/VariableQuotedWithSpace ` x ` +parser/failure/unit/AssertNoAnnotation assert +type-inference/failure/unit/FunctionTypeOutputTypeNotAType Bool -> 1 +type-inference/failure/unit/NestedAnnotInnerWrong (0 : Bool) : Natural +type-inference/failure/unit/NestedAnnotOuterWrong (0 : Natural) : Bool +type-inference/failure/unit/MergeBool merge x True +type-inference/failure/unit/LetInSort \(x: let x = 0 in Sort) -> 1 +type-inference/success/regression/RecursiveRecordTypeMergeTripleCollision { x : { a : Bool } } ⩓ { x : { b : Bool } } ⩓ { x : { c : Bool } } +type-inference/success/regression/Todo λ(todo : ∀(a : Type) → a) → todo +type-inference/success/regression/LambdaInLetScoping1 let T = 0 in λ(T : Type) → λ(x : T) → 1 +type-inference/success/regression/LambdaInLetScoping2 (λ(T : Type) → let x = 0 in λ(x : T) → x) : ∀(T : Type) → ∀(x : T) → T + parser: ./a%20b ./"a%20b" @@ -5,18 +28,6 @@ text interpolation and escapes projection by expression unit tests fix fakeurlencode test s/QuotedVariable/VariableQuoted/ -success/ - operators/ - PrecedenceAll1 a ? b || c + d ++ e # f && g ∧ h ⫽ i ⩓ j * k == l != m n.o - 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 {=} - ToMap toMap x - ToMapAnnot toMap x : T - VariableQuotedWithSpace ` x ` -failure/ - AssertNoAnnotation assert binary decoding: decode old-style optional literals ? @@ -30,37 +41,21 @@ failure/ normalization: variables across import boundaries - Text/show "" - TextLitNested1 "${""}${x}" - TextLitNested2 "${"${x}"}" - TextLitNested3 "${"${""}"}${x}" - regression/ - NaturalFoldExtraArg Natural/fold 0 (Bool -> Bool) (λ(_ : (Bool -> Bool)) → λ(_ : Bool) → True) (λ(_ : Bool) → False) True - let T = Natural let ap = λ(f : T → List T) -> λ(x : T) -> f x in ap (λ(x : T) -> ap (λ(y : T) -> [x, y]) 1) 0 typecheck: something that involves destructuring a recordtype after merge 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 - λ(todo : ∀(a : Type) → a) → todo - let T = 0 in λ(T : Type) → λ(x : T) → 1 - (λ(T : Type) → let x = 0 in λ(x : T) → x) : ∀(T : Type) → ∀(x : T) → T failure/ \(_: Bool) -> assert : (\(_: Bool) -> _) === (\(x: Bool) -> _) - unit/FunctionTypeOutputTypeNotAType Bool -> 1 - unit/NestedAnnotInnerWrong (0 : Bool) : Natural - unit/NestedAnnotOuterWrong (0 : Natural) : Bool merge { x = λ(x : Bool) → x } (< x: Bool | y: Natural >.x True) merge { x = λ(_ : Bool) → _, y = 1 } < x = True | y > merge { x = True, y = 1 } < x | y >.x merge {x=...,y=...} .x merge {x=...,y=...} .x - MergeBool merge x True - LetInSort \(x: let x = 0 in Sort) -> 1 equivalence: -- cgit v1.2.3 From 73af29fb11517f85043d8a866697b150dc7c2191 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 23 Feb 2020 20:56:03 +0000 Subject: Add a bunch of tests --- tests_buffer | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index c582689..6f6e67e 100644 --- a/tests_buffer +++ b/tests_buffer @@ -1,26 +1,3 @@ -normalization/success/unit/TextShowEmpty Text/show "" -normalization/success/unit/TextLitNested1 λ(x: Text) → "${""}${x}" -normalization/success/unit/TextLitNested2 λ(x: Text) → "${"${x}"}" -normalization/success/unit/TextLitNested3 λ(x: Text) → "${"${""}"}${x}" -normalization/success/regression/NaturalFoldExtraArg Natural/fold 0 (Bool -> Bool) (λ(_ : (Bool -> Bool)) → λ(_ : Bool) → True) (λ(_ : Bool) → False) True -normalization/success/regression/TrickyBinderIdentity let T = Natural let ap = λ(f : T → List T) -> λ(x : T) -> f x in ap (λ(x : T) -> ap (λ(y : T) -> [x, y]) 1) 0 -parser/success/unit/LetNoAnnot let x = y in e -parser/success/unit/LetAnnot let x: T = y in e -parser/success/unit/EmptyRecordLiteral {=} -parser/success/unit/ToMap toMap x -parser/success/unit/ToMapAnnot toMap x : T -parser/success/unit/VariableQuotedWithSpace ` x ` -parser/failure/unit/AssertNoAnnotation assert -type-inference/failure/unit/FunctionTypeOutputTypeNotAType Bool -> 1 -type-inference/failure/unit/NestedAnnotInnerWrong (0 : Bool) : Natural -type-inference/failure/unit/NestedAnnotOuterWrong (0 : Natural) : Bool -type-inference/failure/unit/MergeBool merge x True -type-inference/failure/unit/LetInSort \(x: let x = 0 in Sort) -> 1 -type-inference/success/regression/RecursiveRecordTypeMergeTripleCollision { x : { a : Bool } } ⩓ { x : { b : Bool } } ⩓ { x : { c : Bool } } -type-inference/success/regression/Todo λ(todo : ∀(a : Type) → a) → todo -type-inference/success/regression/LambdaInLetScoping1 let T = 0 in λ(T : Type) → λ(x : T) → 1 -type-inference/success/regression/LambdaInLetScoping2 (λ(T : Type) → let x = 0 in λ(x : T) → x) : ∀(T : Type) → ∀(x : T) → T - parser: ./a%20b ./"a%20b" -- cgit v1.2.3 From 60d202471ed5013d1ab607a4c34b82448d708261 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 29 Feb 2020 22:03:46 +0000 Subject: Add a bunch of `as Location` unit tests --- tests_buffer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index 6f6e67e..d7c8e84 100644 --- a/tests_buffer +++ b/tests_buffer @@ -19,7 +19,7 @@ failure/ normalization: variables across import boundaries -typecheck: +type-inference: something that involves destructuring a recordtype after merge add some of the more complicated Prelude tests back, like List/enumerate success/ -- cgit v1.2.3 From 81ce30dde067ca0067fda32b1e0ade1dbdfbdf58 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 29 Feb 2020 23:21:18 +0000 Subject: Implement `as Location` imports --- tests_buffer | 1 + 1 file changed, 1 insertion(+) (limited to 'tests_buffer') diff --git a/tests_buffer b/tests_buffer index d7c8e84..478edbb 100644 --- a/tests_buffer +++ b/tests_buffer @@ -15,6 +15,7 @@ success/ recover recursive import error failure/ don't recover cycle + don't resolve symlinks in canonicalizing normalization: variables across import boundaries -- cgit v1.2.3