Introduce proper type for TypeVar's, mark anything not a lowercase ident as malformed

This commit is contained in:
Joshua Warner 2025-01-08 21:12:53 -08:00
parent a9c25563b2
commit d43ad92789
No known key found for this signature in database
GPG key ID: 89AD497003F93FDD
65 changed files with 729 additions and 460 deletions

View file

@ -19,9 +19,9 @@
name: @0-1 "A",
vars: [
@4-5 SpaceBefore(
Identifier {
ident: "p",
},
Identifier(
"p",
),
[
LineComment(
"",

View file

@ -19,9 +19,9 @@
name: @0-1 "A",
vars: [
@3-4 SpaceBefore(
Identifier {
ident: "p",
},
Identifier(
"p",
),
[
Newline,
],

View file

@ -20,9 +20,9 @@
vars: [
@3-4 SpaceAfter(
SpaceBefore(
Identifier {
ident: "e",
},
Identifier(
"e",
),
[
Newline,
],

View file

@ -19,9 +19,9 @@
header: TypeHeader {
name: @0-5 "Model",
vars: [
@6-14 Identifier {
ident: "position",
},
@6-14 Identifier(
"position",
),
],
},
ann: @21-164 SpaceBefore(

View file

@ -1,9 +0,0 @@
O
{ p ?? if
a
then
A
else
&m } #
: e
i

View file

@ -1,95 +0,0 @@
@0-29 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-27,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "O",
vars: [
@1-23 SpaceAfter(
RecordDestructure(
[
@2-22 OptionalField(
"p",
@4-22 If {
if_thens: [
(
@7-8 SpaceBefore(
SpaceAfter(
Var {
module_name: "",
ident: "a",
},
[
Newline,
],
),
[
Newline,
],
),
@14-15 SpaceBefore(
SpaceAfter(
Tag(
"A",
),
[
Newline,
],
),
[
Newline,
],
),
),
],
final_else: @20-22 RecordUpdater(
"m",
),
indented_else: false,
},
),
],
),
[
LineComment(
"",
),
],
),
],
},
ann: @26-27 BoundVariable(
"e",
),
},
],
value_defs: [],
},
@28-29 SpaceBefore(
Var {
module_name: "",
ident: "i",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -1,7 +0,0 @@
O{p?if
a
then
A
else&m}#
:e
i

View file

@ -1,59 +0,0 @@
@0-23 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-21,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Ability {
header: TypeHeader {
name: @0-1 "C",
vars: [
@2-3 NumLiteral(
"4",
),
],
},
loc_implements: @7-17 SpaceBefore(
Implements,
[
LineComment(
"",
),
],
),
members: [
AbilityMember {
name: @18-19 "e",
typ: @20-21 BoundVariable(
"m",
),
},
],
},
],
value_defs: [],
},
@22-23 SpaceBefore(
Tag(
"C",
),
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -20,9 +20,9 @@
name: @0-1 "M",
vars: [
@4-6 SpaceBefore(
Identifier {
ident: "im",
},
Identifier(
"im",
),
[
LineComment(
"",

View file

@ -1,54 +0,0 @@
@0-24 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-22,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "N",
vars: [
@3-13 Identifier {
ident: "implements",
},
@15-16 Identifier {
ident: "h",
},
@18-19 NumLiteral(
"0",
),
],
},
ann: @21-22 Apply(
"",
"B",
[],
),
},
],
value_defs: [],
},
@23-24 SpaceBefore(
Tag(
"T",
),
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -1,2 +0,0 @@
N (implements) h (0):B
T

View file

@ -1,52 +0,0 @@
@0-11 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-8,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "N",
vars: [
@2-4 NumLiteral(
"-0",
),
@5-6 Tag(
"T",
),
],
},
ann: @7-8 Apply(
"",
"A",
[],
),
},
],
value_defs: [],
},
@9-11 SpaceBefore(
Var {
module_name: "",
ident: "zT",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -19,9 +19,9 @@
name: @0-1 "A",
vars: [
@4-5 SpaceBefore(
Identifier {
ident: "p",
},
Identifier(
"p",
),
[
LineComment(
"",

View file

@ -1,66 +0,0 @@
@0-14 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
EitherIndex(2147483648),
],
regions: [
@0-5,
@8-12,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 2 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
Slice<roc_parse::ast::CommentOrNewline> { start: 2, length: 0 },
],
spaces: [
Newline,
LineComment(
"",
),
],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "B",
vars: [
@1-3 OpaqueRef(
"@A",
),
],
},
ann: @4-5 BoundVariable(
"w",
),
},
],
value_defs: [
Body(
@8-10 OpaqueRef(
"@A",
),
@11-12 Var {
module_name: "",
ident: "e",
},
),
],
},
@13-14 SpaceBefore(
Var {
module_name: "",
ident: "i",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -19,9 +19,9 @@ Defs {
header: TypeHeader {
name: @0-8 "Bookmark",
vars: [
@9-10 Identifier {
ident: "a",
},
@9-10 Identifier(
"a",
),
],
},
typ: @14-53 Record {

View file

@ -1,57 +0,0 @@
@0-13 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-11,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-2 "Zx",
vars: [
@4-5 SpaceAfter(
Identifier {
ident: "e",
},
[
LineComment(
"",
),
],
),
@8-9 Identifier {
ident: "f",
},
],
},
ann: @10-11 BoundVariable(
"i",
),
},
],
value_defs: [],
},
@12-13 SpaceBefore(
Var {
module_name: "",
ident: "s",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -1,54 +0,0 @@
@0-11 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-9,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "U",
vars: [
@3-6 Apply(
@3-4 Identifier {
ident: "b",
},
[
@5-6 Identifier {
ident: "a",
},
],
),
],
},
ann: @8-9 BoundVariable(
"b",
),
},
],
value_defs: [],
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "a",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -19,12 +19,12 @@
header: TypeHeader {
name: @0-4 "Blah",
vars: [
@5-6 Identifier {
ident: "a",
},
@7-8 Identifier {
ident: "b",
},
@5-6 Identifier(
"a",
),
@7-8 Identifier(
"b",
),
],
},
ann: @11-26 Apply(

View file

@ -37,12 +37,12 @@
TypeHeader {
name: @25-29 "Blah",
vars: [
@30-31 Identifier {
ident: "a",
},
@32-33 Identifier {
ident: "b",
},
@30-31 Identifier(
"a",
),
@32-33 Identifier(
"b",
),
],
},
),

View file

@ -1,8 +0,0 @@
M
{ s ?? s
{ J &
} }
{ s ?? s
{ J &
} } : p
y

View file

@ -1,98 +0,0 @@
@0-25 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-23,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "M",
vars: [
@1-11 RecordDestructure(
[
@2-10 OptionalField(
"s",
@4-10 Apply(
@4-5 Var {
module_name: "",
ident: "s",
},
[
@5-10 RecordUpdate {
update: @6-7 Tag(
"J",
),
fields: Collection {
items: [],
final_comments: [
Newline,
],
},
},
],
Space,
),
),
],
),
@11-21 RecordDestructure(
[
@12-20 OptionalField(
"s",
@14-20 Apply(
@14-15 Var {
module_name: "",
ident: "s",
},
[
@15-20 RecordUpdate {
update: @16-17 Tag(
"J",
),
fields: Collection {
items: [],
final_comments: [
Newline,
],
},
},
],
Space,
),
),
],
),
],
},
ann: @22-23 BoundVariable(
"p",
),
},
],
value_defs: [],
},
@24-25 SpaceBefore(
Var {
module_name: "",
ident: "y",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -1,4 +0,0 @@
M{s?s{J&
}}{s?s{J&
}}:p
y

View file

@ -1,58 +0,0 @@
@0-16 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-14,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "Q",
vars: [
@3-11 Apply(
@3-9 StrLiteral(
Block(
[],
),
),
[
@9-11 StrLiteral(
PlainLine(
"",
),
),
],
),
],
},
ann: @13-14 BoundVariable(
"a",
),
},
],
value_defs: [],
},
@15-16 SpaceBefore(
Var {
module_name: "",
ident: "q",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -1,5 +0,0 @@
il3 \k -> # w#z
CCC
@C # i
(t! K) : i
C

View file

@ -1,86 +0,0 @@
@0-32 SpaceAfter(
Apply(
@0-3 Var {
module_name: "",
ident: "il3",
},
[
@3-32 Closure(
[
@4-5 Identifier {
ident: "k",
},
],
@13-32 SpaceBefore(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@13-29,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @13-16 "CCC",
vars: [
@16-18 OpaqueRef(
"@C",
),
@23-26 SpaceBefore(
Apply(
@23-25 Identifier {
ident: "t!",
},
[
@25-26 Tag(
"K",
),
],
),
[
LineComment(
"i",
),
],
),
],
},
ann: @28-29 BoundVariable(
"i",
),
},
],
value_defs: [],
},
@31-32 SpaceBefore(
Tag(
"C",
),
[
Newline,
],
),
),
[
LineComment(
"w#z",
),
],
),
),
],
Space,
),
[
Newline,
],
)

View file

@ -1,4 +0,0 @@
il3\k->#w#z
CCC@C (#i
t!K):i
C

View file

@ -45,12 +45,12 @@ Defs {
header: TypeHeader {
name: @0-3 "App",
vars: [
@4-9 Identifier {
ident: "state",
},
@10-18 Identifier {
ident: "initData",
},
@4-9 Identifier(
"state",
),
@10-18 Identifier(
"initData",
),
],
},
ann: @21-60 Apply(
@ -70,9 +70,9 @@ Defs {
header: TypeHeader {
name: @61-65 "Html",
vars: [
@66-71 Identifier {
ident: "state",
},
@66-71 Identifier(
"state",
),
],
},
ann: @74-105 Apply(
@ -89,9 +89,9 @@ Defs {
header: TypeHeader {
name: @106-115 "Attribute",
vars: [
@116-121 Identifier {
ident: "state",
},
@116-121 Identifier(
"state",
),
],
},
ann: @124-160 Apply(