tree-sitter-tony
Version:
Tony grammar for tree-sitter
2,449 lines • 151 kB
JSON
[
{
"type": "abstraction",
"named": true,
"fields": {
"branch": {
"multiple": true,
"required": true,
"types": [
{
"type": "abstraction_branch",
"named": true
}
]
}
}
},
{
"type": "abstraction_branch",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"element": {
"multiple": true,
"required": false,
"types": [
{
"type": "boolean",
"named": true
},
{
"type": "destructuring_pattern",
"named": true
},
{
"type": "identifier_pattern",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pattern_group",
"named": true
},
{
"type": "raw_string",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "tagged_pattern",
"named": true
}
]
},
"rest": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier_pattern",
"named": true
}
]
},
"typeParameter": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_variable_declaration",
"named": true
}
]
}
}
},
{
"type": "access",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "shorthand_access_identifier",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "access_type",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "boolean",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "string",
"named": true
}
]
}
}
},
{
"type": "application",
"named": true,
"fields": {
"element": {
"multiple": true,
"required": false,
"types": [
{
"type": "argument",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"typeArgument": {
"multiple": true,
"required": false,
"types": [
{
"type": "parametric_type",
"named": true
}
]
}
}
},
{
"type": "argument",
"named": true,
"fields": {
"placeholder": {
"multiple": false,
"required": false,
"types": [
{
"type": "?",
"named": false
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "spread",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "assignment",
"named": true,
"fields": {
"pattern": {
"multiple": false,
"required": true,
"types": [
{
"type": "destructuring_pattern",
"named": true
},
{
"type": "identifier_pattern",
"named": true
},
{
"type": "pattern_group",
"named": true
},
{
"type": "tagged_pattern",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "class",
"named": true
},
{
"type": "enum",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "instance",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "block",
"named": true,
"fields": {
"term": {
"multiple": true,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "class",
"named": true
},
{
"type": "enum",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "instance",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "boolean",
"named": true,
"fields": {}
},
{
"type": "case",
"named": true,
"fields": {
"else": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"when": {
"multiple": true,
"required": true,
"types": [
{
"type": "when",
"named": true
}
]
}
}
},
{
"type": "class",
"named": true,
"fields": {
"member": {
"multiple": true,
"required": true,
"types": [
{
"type": "class_member",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_declaration",
"named": true
}
]
}
}
},
{
"type": "class_member",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "conditional_type",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"constraint": {
"multiple": true,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "curried_type",
"named": true,
"fields": {
"from": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"to": {
"multiple": false,
"required": true,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "refinement_type_declaration",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "typeof",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "destructuring_pattern",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"pattern": {
"multiple": false,
"required": true,
"types": [
{
"type": "list_pattern",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
}
},
{
"type": "else_if",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "enum",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "enum_value",
"named": true
}
]
}
}
},
{
"type": "enum_value",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "boolean",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "string",
"named": true
}
]
}
}
},
{
"type": "export",
"named": true,
"fields": {
"declaration": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
}
]
}
}
},
{
"type": "exported_import",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"import": {
"multiple": true,
"required": false,
"types": [
{
"type": "import_identifier",
"named": true
},
{
"type": "import_type",
"named": true
}
]
},
"source": {
"multiple": false,
"required": true,
"types": [
{
"type": "raw_string",
"named": true
}
]
}
}
},
{
"type": "generator",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "group",
"named": true,
"fields": {
"term": {
"multiple": false,
"required": true,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "identifier_pattern",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "abstraction",
"named": true
},
{
"type": "access",
"named": true
},
{
"type": "application",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "group",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "infix_application",
"named": true
},
{
"type": "left_section",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_application",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "right_section",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tagged_value",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "access_type",
"named": true
},
{
"type": "conditional_type",
"named": true
}