1{
2    "type": "Resource",
3    "body": [
4        {
5            "type": "GroupComment",
6            "content": "Function names"
7        },
8        {
9            "type": "Message",
10            "id": {
11                "type": "Identifier",
12                "name": "valid-func-name-01"
13            },
14            "value": {
15                "type": "Pattern",
16                "elements": [
17                    {
18                        "type": "Placeable",
19                        "expression": {
20                            "type": "FunctionReference",
21                            "id": {
22                                "type": "Identifier",
23                                "name": "FUN1"
24                            },
25                            "arguments": {
26                                "type": "CallArguments",
27                                "positional": [],
28                                "named": []
29                            }
30                        }
31                    }
32                ]
33            },
34            "attributes": [],
35            "comment": null
36        },
37        {
38            "type": "Message",
39            "id": {
40                "type": "Identifier",
41                "name": "valid-func-name-02"
42            },
43            "value": {
44                "type": "Pattern",
45                "elements": [
46                    {
47                        "type": "Placeable",
48                        "expression": {
49                            "type": "FunctionReference",
50                            "id": {
51                                "type": "Identifier",
52                                "name": "FUN_FUN"
53                            },
54                            "arguments": {
55                                "type": "CallArguments",
56                                "positional": [],
57                                "named": []
58                            }
59                        }
60                    }
61                ]
62            },
63            "attributes": [],
64            "comment": null
65        },
66        {
67            "type": "Message",
68            "id": {
69                "type": "Identifier",
70                "name": "valid-func-name-03"
71            },
72            "value": {
73                "type": "Pattern",
74                "elements": [
75                    {
76                        "type": "Placeable",
77                        "expression": {
78                            "type": "FunctionReference",
79                            "id": {
80                                "type": "Identifier",
81                                "name": "FUN-FUN"
82                            },
83                            "arguments": {
84                                "type": "CallArguments",
85                                "positional": [],
86                                "named": []
87                            }
88                        }
89                    }
90                ]
91            },
92            "attributes": [],
93            "comment": null
94        },
95        {
96            "type": "Comment",
97            "content": "JUNK 0 is not a valid Identifier start"
98        },
99        {
100            "type": "Junk",
101            "annotations": [],
102            "content": "invalid-func-name-01 = {0FUN()}\n"
103        },
104        {
105            "type": "Comment",
106            "content": "JUNK Function names may not be lowercase"
107        },
108        {
109            "type": "Junk",
110            "annotations": [],
111            "content": "invalid-func-name-02 = {fun()}\n"
112        },
113        {
114            "type": "Comment",
115            "content": "JUNK Function names may not contain lowercase character"
116        },
117        {
118            "type": "Junk",
119            "annotations": [],
120            "content": "invalid-func-name-03 = {Fun()}\n"
121        },
122        {
123            "type": "Comment",
124            "content": "JUNK ? is not a valid Identifier character"
125        },
126        {
127            "type": "Junk",
128            "annotations": [],
129            "content": "invalid-func-name-04 = {FUN?()}\n\n"
130        },
131        {
132            "type": "GroupComment",
133            "content": "Arguments"
134        },
135        {
136            "type": "Message",
137            "id": {
138                "type": "Identifier",
139                "name": "positional-args"
140            },
141            "value": {
142                "type": "Pattern",
143                "elements": [
144                    {
145                        "type": "Placeable",
146                        "expression": {
147                            "type": "FunctionReference",
148                            "id": {
149                                "type": "Identifier",
150                                "name": "FUN"
151                            },
152                            "arguments": {
153                                "type": "CallArguments",
154                                "positional": [
155                                    {
156                                        "value": "1",
157                                        "type": "NumberLiteral"
158                                    },
159                                    {
160                                        "value": "a",
161                                        "type": "StringLiteral"
162                                    },
163                                    {
164                                        "type": "MessageReference",
165                                        "id": {
166                                            "type": "Identifier",
167                                            "name": "msg"
168                                        },
169                                        "attribute": null
170                                    }
171                                ],
172                                "named": []
173                            }
174                        }
175                    }
176                ]
177            },
178            "attributes": [],
179            "comment": null
180        },
181        {
182            "type": "Message",
183            "id": {
184                "type": "Identifier",
185                "name": "named-args"
186            },
187            "value": {
188                "type": "Pattern",
189                "elements": [
190                    {
191                        "type": "Placeable",
192                        "expression": {
193                            "type": "FunctionReference",
194                            "id": {
195                                "type": "Identifier",
196                                "name": "FUN"
197                            },
198                            "arguments": {
199                                "type": "CallArguments",
200                                "positional": [],
201                                "named": [
202                                    {
203                                        "type": "NamedArgument",
204                                        "name": {
205                                            "type": "Identifier",
206                                            "name": "x"
207                                        },
208                                        "value": {
209                                            "value": "1",
210                                            "type": "NumberLiteral"
211                                        }
212                                    },
213                                    {
214                                        "type": "NamedArgument",
215                                        "name": {
216                                            "type": "Identifier",
217                                            "name": "y"
218                                        },
219                                        "value": {
220                                            "value": "Y",
221                                            "type": "StringLiteral"
222                                        }
223                                    }
224                                ]
225                            }
226                        }
227                    }
228                ]
229            },
230            "attributes": [],
231            "comment": null
232        },
233        {
234            "type": "Message",
235            "id": {
236                "type": "Identifier",
237                "name": "dense-named-args"
238            },
239            "value": {
240                "type": "Pattern",
241                "elements": [
242                    {
243                        "type": "Placeable",
244                        "expression": {
245                            "type": "FunctionReference",
246                            "id": {
247                                "type": "Identifier",
248                                "name": "FUN"
249                            },
250                            "arguments": {
251                                "type": "CallArguments",
252                                "positional": [],
253                                "named": [
254                                    {
255                                        "type": "NamedArgument",
256                                        "name": {
257                                            "type": "Identifier",
258                                            "name": "x"
259                                        },
260                                        "value": {
261                                            "value": "1",
262                                            "type": "NumberLiteral"
263                                        }
264                                    },
265                                    {
266                                        "type": "NamedArgument",
267                                        "name": {
268                                            "type": "Identifier",
269                                            "name": "y"
270                                        },
271                                        "value": {
272                                            "value": "Y",
273                                            "type": "StringLiteral"
274                                        }
275                                    }
276                                ]
277                            }
278                        }
279                    }
280                ]
281            },
282            "attributes": [],
283            "comment": null
284        },
285        {
286            "type": "Message",
287            "id": {
288                "type": "Identifier",
289                "name": "mixed-args"
290            },
291            "value": {
292                "type": "Pattern",
293                "elements": [
294                    {
295                        "type": "Placeable",
296                        "expression": {
297                            "type": "FunctionReference",
298                            "id": {
299                                "type": "Identifier",
300                                "name": "FUN"
301                            },
302                            "arguments": {
303                                "type": "CallArguments",
304                                "positional": [
305                                    {
306                                        "value": "1",
307                                        "type": "NumberLiteral"
308                                    },
309                                    {
310                                        "value": "a",
311                                        "type": "StringLiteral"
312                                    },
313                                    {
314                                        "type": "MessageReference",
315                                        "id": {
316                                            "type": "Identifier",
317                                            "name": "msg"
318                                        },
319                                        "attribute": null
320                                    }
321                                ],
322                                "named": [
323                                    {
324                                        "type": "NamedArgument",
325                                        "name": {
326                                            "type": "Identifier",
327                                            "name": "x"
328                                        },
329                                        "value": {
330                                            "value": "1",
331                                            "type": "NumberLiteral"
332                                        }
333                                    },
334                                    {
335                                        "type": "NamedArgument",
336                                        "name": {
337                                            "type": "Identifier",
338                                            "name": "y"
339                                        },
340                                        "value": {
341                                            "value": "Y",
342                                            "type": "StringLiteral"
343                                        }
344                                    }
345                                ]
346                            }
347                        }
348                    }
349                ]
350            },
351            "attributes": [],
352            "comment": null
353        },
354        {
355            "type": "Comment",
356            "content": "ERROR Positional arg must not follow keyword args"
357        },
358        {
359            "type": "Junk",
360            "annotations": [],
361            "content": "shuffled-args = {FUN(1, x: 1, \"a\", y: \"Y\", msg)}\n\n"
362        },
363        {
364            "type": "Comment",
365            "content": "ERROR Named arguments must be unique"
366        },
367        {
368            "type": "Junk",
369            "annotations": [],
370            "content": "duplicate-named-args = {FUN(x: 1, x: \"X\")}\n\n\n"
371        },
372        {
373            "type": "GroupComment",
374            "content": "Whitespace around arguments"
375        },
376        {
377            "type": "Message",
378            "id": {
379                "type": "Identifier",
380                "name": "sparse-inline-call"
381            },
382            "value": {
383                "type": "Pattern",
384                "elements": [
385                    {
386                        "type": "Placeable",
387                        "expression": {
388                            "type": "FunctionReference",
389                            "id": {
390                                "type": "Identifier",
391                                "name": "FUN"
392                            },
393                            "arguments": {
394                                "type": "CallArguments",
395                                "positional": [
396                                    {
397                                        "value": "a",
398                                        "type": "StringLiteral"
399                                    },
400                                    {
401                                        "type": "MessageReference",
402                                        "id": {
403                                            "type": "Identifier",
404                                            "name": "msg"
405                                        },
406                                        "attribute": null
407                                    }
408                                ],
409                                "named": [
410                                    {
411                                        "type": "NamedArgument",
412                                        "name": {
413                                            "type": "Identifier",
414                                            "name": "x"
415                                        },
416                                        "value": {
417                                            "value": "1",
418                                            "type": "NumberLiteral"
419                                        }
420                                    }
421                                ]
422                            }
423                        }
424                    }
425                ]
426            },
427            "attributes": [],
428            "comment": null
429        },
430        {
431            "type": "Message",
432            "id": {
433                "type": "Identifier",
434                "name": "empty-inline-call"
435            },
436            "value": {
437                "type": "Pattern",
438                "elements": [
439                    {
440                        "type": "Placeable",
441                        "expression": {
442                            "type": "FunctionReference",
443                            "id": {
444                                "type": "Identifier",
445                                "name": "FUN"
446                            },
447                            "arguments": {
448                                "type": "CallArguments",
449                                "positional": [],
450                                "named": []
451                            }
452                        }
453                    }
454                ]
455            },
456            "attributes": [],
457            "comment": null
458        },
459        {
460            "type": "Message",
461            "id": {
462                "type": "Identifier",
463                "name": "multiline-call"
464            },
465            "value": {
466                "type": "Pattern",
467                "elements": [
468                    {
469                        "type": "Placeable",
470                        "expression": {
471                            "type": "FunctionReference",
472                            "id": {
473                                "type": "Identifier",
474                                "name": "FUN"
475                            },
476                            "arguments": {
477                                "type": "CallArguments",
478                                "positional": [
479                                    {
480                                        "value": "a",
481                                        "type": "StringLiteral"
482                                    },
483                                    {
484                                        "type": "MessageReference",
485                                        "id": {
486                                            "type": "Identifier",
487                                            "name": "msg"
488                                        },
489                                        "attribute": null
490                                    }
491                                ],
492                                "named": [
493                                    {
494                                        "type": "NamedArgument",
495                                        "name": {
496                                            "type": "Identifier",
497                                            "name": "x"
498                                        },
499                                        "value": {
500                                            "value": "1",
501                                            "type": "NumberLiteral"
502                                        }
503                                    }
504                                ]
505                            }
506                        }
507                    }
508                ]
509            },
510            "attributes": [],
511            "comment": null
512        },
513        {
514            "type": "Message",
515            "id": {
516                "type": "Identifier",
517                "name": "sparse-multiline-call"
518            },
519            "value": {
520                "type": "Pattern",
521                "elements": [
522                    {
523                        "type": "Placeable",
524                        "expression": {
525                            "type": "FunctionReference",
526                            "id": {
527                                "type": "Identifier",
528                                "name": "FUN"
529                            },
530                            "arguments": {
531                                "type": "CallArguments",
532                                "positional": [
533                                    {
534                                        "value": "a",
535                                        "type": "StringLiteral"
536                                    },
537                                    {
538                                        "type": "MessageReference",
539                                        "id": {
540                                            "type": "Identifier",
541                                            "name": "msg"
542                                        },
543                                        "attribute": null
544                                    }
545                                ],
546                                "named": [
547                                    {
548                                        "type": "NamedArgument",
549                                        "name": {
550                                            "type": "Identifier",
551                                            "name": "x"
552                                        },
553                                        "value": {
554                                            "value": "1",
555                                            "type": "NumberLiteral"
556                                        }
557                                    }
558                                ]
559                            }
560                        }
561                    }
562                ]
563            },
564            "attributes": [],
565            "comment": null
566        },
567        {
568            "type": "Message",
569            "id": {
570                "type": "Identifier",
571                "name": "empty-multiline-call"
572            },
573            "value": {
574                "type": "Pattern",
575                "elements": [
576                    {
577                        "type": "Placeable",
578                        "expression": {
579                            "type": "FunctionReference",
580                            "id": {
581                                "type": "Identifier",
582                                "name": "FUN"
583                            },
584                            "arguments": {
585                                "type": "CallArguments",
586                                "positional": [],
587                                "named": []
588                            }
589                        }
590                    }
591                ]
592            },
593            "attributes": [],
594            "comment": null
595        },
596        {
597            "type": "Message",
598            "id": {
599                "type": "Identifier",
600                "name": "unindented-arg-number"
601            },
602            "value": {
603                "type": "Pattern",
604                "elements": [
605                    {
606                        "type": "Placeable",
607                        "expression": {
608                            "type": "FunctionReference",
609                            "id": {
610                                "type": "Identifier",
611                                "name": "FUN"
612                            },
613                            "arguments": {
614                                "type": "CallArguments",
615                                "positional": [
616                                    {
617                                        "value": "1",
618                                        "type": "NumberLiteral"
619                                    }
620                                ],
621                                "named": []
622                            }
623                        }
624                    }
625                ]
626            },
627            "attributes": [],
628            "comment": null
629        },
630        {
631            "type": "Message",
632            "id": {
633                "type": "Identifier",
634                "name": "unindented-arg-string"
635            },
636            "value": {
637                "type": "Pattern",
638                "elements": [
639                    {
640                        "type": "Placeable",
641                        "expression": {
642                            "type": "FunctionReference",
643                            "id": {
644                                "type": "Identifier",
645                                "name": "FUN"
646                            },
647                            "arguments": {
648                                "type": "CallArguments",
649                                "positional": [
650                                    {
651                                        "value": "a",
652                                        "type": "StringLiteral"
653                                    }
654                                ],
655                                "named": []
656                            }
657                        }
658                    }
659                ]
660            },
661            "attributes": [],
662            "comment": null
663        },
664        {
665            "type": "Message",
666            "id": {
667                "type": "Identifier",
668                "name": "unindented-arg-msg-ref"
669            },
670            "value": {
671                "type": "Pattern",
672                "elements": [
673                    {
674                        "type": "Placeable",
675                        "expression": {
676                            "type": "FunctionReference",
677                            "id": {
678                                "type": "Identifier",
679                                "name": "FUN"
680                            },
681                            "arguments": {
682                                "type": "CallArguments",
683                                "positional": [
684                                    {
685                                        "type": "MessageReference",
686                                        "id": {
687                                            "type": "Identifier",
688                                            "name": "msg"
689                                        },
690                                        "attribute": null
691                                    }
692                                ],
693                                "named": []
694                            }
695                        }
696                    }
697                ]
698            },
699            "attributes": [],
700            "comment": null
701        },
702        {
703            "type": "Message",
704            "id": {
705                "type": "Identifier",
706                "name": "unindented-arg-term-ref"
707            },
708            "value": {
709                "type": "Pattern",
710                "elements": [
711                    {
712                        "type": "Placeable",
713                        "expression": {
714                            "type": "FunctionReference",
715                            "id": {
716                                "type": "Identifier",
717                                "name": "FUN"
718                            },
719                            "arguments": {
720                                "type": "CallArguments",
721                                "positional": [
722                                    {
723                                        "type": "TermReference",
724                                        "id": {
725                                            "type": "Identifier",
726                                            "name": "msg"
727                                        },
728                                        "attribute": null,
729                                        "arguments": null
730                                    }
731                                ],
732                                "named": []
733                            }
734                        }
735                    }
736                ]
737            },
738            "attributes": [],
739            "comment": null
740        },
741        {
742            "type": "Message",
743            "id": {
744                "type": "Identifier",
745                "name": "unindented-arg-var-ref"
746            },
747            "value": {
748                "type": "Pattern",
749                "elements": [
750                    {
751                        "type": "Placeable",
752                        "expression": {
753                            "type": "FunctionReference",
754                            "id": {
755                                "type": "Identifier",
756                                "name": "FUN"
757                            },
758                            "arguments": {
759                                "type": "CallArguments",
760                                "positional": [
761                                    {
762                                        "type": "VariableReference",
763                                        "id": {
764                                            "type": "Identifier",
765                                            "name": "var"
766                                        }
767                                    }
768                                ],
769                                "named": []
770                            }
771                        }
772                    }
773                ]
774            },
775            "attributes": [],
776            "comment": null
777        },
778        {
779            "type": "Message",
780            "id": {
781                "type": "Identifier",
782                "name": "unindented-arg-call"
783            },
784            "value": {
785                "type": "Pattern",
786                "elements": [
787                    {
788                        "type": "Placeable",
789                        "expression": {
790                            "type": "FunctionReference",
791                            "id": {
792                                "type": "Identifier",
793                                "name": "FUN"
794                            },
795                            "arguments": {
796                                "type": "CallArguments",
797                                "positional": [
798                                    {
799                                        "type": "FunctionReference",
800                                        "id": {
801                                            "type": "Identifier",
802                                            "name": "OTHER"
803                                        },
804                                        "arguments": {
805                                            "type": "CallArguments",
806                                            "positional": [],
807                                            "named": []
808                                        }
809                                    }
810                                ],
811                                "named": []
812                            }
813                        }
814                    }
815                ]
816            },
817            "attributes": [],
818            "comment": null
819        },
820        {
821            "type": "Message",
822            "id": {
823                "type": "Identifier",
824                "name": "unindented-named-arg"
825            },
826            "value": {
827                "type": "Pattern",
828                "elements": [
829                    {
830                        "type": "Placeable",
831                        "expression": {
832                            "type": "FunctionReference",
833                            "id": {
834                                "type": "Identifier",
835                                "name": "FUN"
836                            },
837                            "arguments": {
838                                "type": "CallArguments",
839                                "positional": [],
840                                "named": [
841                                    {
842                                        "type": "NamedArgument",
843                                        "name": {
844                                            "type": "Identifier",
845                                            "name": "x"
846                                        },
847                                        "value": {
848                                            "value": "1",
849                                            "type": "NumberLiteral"
850                                        }
851                                    }
852                                ]
853                            }
854                        }
855                    }
856                ]
857            },
858            "attributes": [],
859            "comment": null
860        },
861        {
862            "type": "Message",
863            "id": {
864                "type": "Identifier",
865                "name": "unindented-closing-paren"
866            },
867            "value": {
868                "type": "Pattern",
869                "elements": [
870                    {
871                        "type": "Placeable",
872                        "expression": {
873                            "type": "FunctionReference",
874                            "id": {
875                                "type": "Identifier",
876                                "name": "FUN"
877                            },
878                            "arguments": {
879                                "type": "CallArguments",
880                                "positional": [
881                                    {
882                                        "type": "MessageReference",
883                                        "id": {
884                                            "type": "Identifier",
885                                            "name": "x"
886                                        },
887                                        "attribute": null
888                                    }
889                                ],
890                                "named": []
891                            }
892                        }
893                    }
894                ]
895            },
896            "attributes": [],
897            "comment": null
898        },
899        {
900            "type": "GroupComment",
901            "content": "Optional trailing comma"
902        },
903        {
904            "type": "Message",
905            "id": {
906                "type": "Identifier",
907                "name": "one-argument"
908            },
909            "value": {
910                "type": "Pattern",
911                "elements": [
912                    {
913                        "type": "Placeable",
914                        "expression": {
915                            "type": "FunctionReference",
916                            "id": {
917                                "type": "Identifier",
918                                "name": "FUN"
919                            },
920                            "arguments": {
921                                "type": "CallArguments",
922                                "positional": [
923                                    {
924                                        "value": "1",
925                                        "type": "NumberLiteral"
926                                    }
927                                ],
928                                "named": []
929                            }
930                        }
931                    }
932                ]
933            },
934            "attributes": [],
935            "comment": null
936        },
937        {
938            "type": "Message",
939            "id": {
940                "type": "Identifier",
941                "name": "many-arguments"
942            },
943            "value": {
944                "type": "Pattern",
945                "elements": [
946                    {
947                        "type": "Placeable",
948                        "expression": {
949                            "type": "FunctionReference",
950                            "id": {
951                                "type": "Identifier",
952                                "name": "FUN"
953                            },
954                            "arguments": {
955                                "type": "CallArguments",
956                                "positional": [
957                                    {
958                                        "value": "1",
959                                        "type": "NumberLiteral"
960                                    },
961                                    {
962                                        "value": "2",
963                                        "type": "NumberLiteral"
964                                    },
965                                    {
966                                        "value": "3",
967                                        "type": "NumberLiteral"
968                                    }
969                                ],
970                                "named": []
971                            }
972                        }
973                    }
974                ]
975            },
976            "attributes": [],
977            "comment": null
978        },
979        {
980            "type": "Message",
981            "id": {
982                "type": "Identifier",
983                "name": "inline-sparse-args"
984            },
985            "value": {
986                "type": "Pattern",
987                "elements": [
988                    {
989                        "type": "Placeable",
990                        "expression": {
991                            "type": "FunctionReference",
992                            "id": {
993                                "type": "Identifier",
994                                "name": "FUN"
995                            },
996                            "arguments": {
997                                "type": "CallArguments",
998                                "positional": [
999                                    {
1000                                        "value": "1",
1001                                        "type": "NumberLiteral"
1002                                    },
1003                                    {
1004                                        "value": "2",
1005                                        "type": "NumberLiteral"
1006                                    },
1007                                    {
1008                                        "value": "3",
1009                                        "type": "NumberLiteral"
1010                                    }
1011                                ],
1012                                "named": []
1013                            }
1014                        }
1015                    }
1016                ]
1017            },
1018            "attributes": [],
1019            "comment": null
1020        },
1021        {
1022            "type": "Message",
1023            "id": {
1024                "type": "Identifier",
1025                "name": "mulitline-args"
1026            },
1027            "value": {
1028                "type": "Pattern",
1029                "elements": [
1030                    {
1031                        "type": "Placeable",
1032                        "expression": {
1033                            "type": "FunctionReference",
1034                            "id": {
1035                                "type": "Identifier",
1036                                "name": "FUN"
1037                            },
1038                            "arguments": {
1039                                "type": "CallArguments",
1040                                "positional": [
1041                                    {
1042                                        "value": "1",
1043                                        "type": "NumberLiteral"
1044                                    },
1045                                    {
1046                                        "value": "2",
1047                                        "type": "NumberLiteral"
1048                                    }
1049                                ],
1050                                "named": []
1051                            }
1052                        }
1053                    }
1054                ]
1055            },
1056            "attributes": [],
1057            "comment": null
1058        },
1059        {
1060            "type": "Message",
1061            "id": {
1062                "type": "Identifier",
1063                "name": "mulitline-sparse-args"
1064            },
1065            "value": {
1066                "type": "Pattern",
1067                "elements": [
1068                    {
1069                        "type": "Placeable",
1070                        "expression": {
1071                            "type": "FunctionReference",
1072                            "id": {
1073                                "type": "Identifier",
1074                                "name": "FUN"
1075                            },
1076                            "arguments": {
1077                                "type": "CallArguments",
1078                                "positional": [
1079                                    {
1080                                        "value": "1",
1081                                        "type": "NumberLiteral"
1082                                    },
1083                                    {
1084                                        "value": "2",
1085                                        "type": "NumberLiteral"
1086                                    }
1087                                ],
1088                                "named": []
1089                            }
1090                        }
1091                    }
1092                ]
1093            },
1094            "attributes": [],
1095            "comment": null
1096        },
1097        {
1098            "type": "GroupComment",
1099            "content": "Syntax errors for trailing comma"
1100        },
1101        {
1102            "type": "Junk",
1103            "annotations": [],
1104            "content": "one-argument = {FUN(1,,)}\n"
1105        },
1106        {
1107            "type": "Junk",
1108            "annotations": [],
1109            "content": "missing-arg = {FUN(,)}\n"
1110        },
1111        {
1112            "type": "Junk",
1113            "annotations": [],
1114            "content": "missing-sparse-arg = {FUN(   ,   )}\n\n\n"
1115        },
1116        {
1117            "type": "GroupComment",
1118            "content": "Whitespace in named arguments"
1119        },
1120        {
1121            "type": "Message",
1122            "id": {
1123                "type": "Identifier",
1124                "name": "sparse-named-arg"
1125            },
1126            "value": {
1127                "type": "Pattern",
1128                "elements": [
1129                    {
1130                        "type": "Placeable",
1131                        "expression": {
1132                            "type": "FunctionReference",
1133                            "id": {
1134                                "type": "Identifier",
1135                                "name": "FUN"
1136                            },
1137                            "arguments": {
1138                                "type": "CallArguments",
1139                                "positional": [],
1140                                "named": [
1141                                    {
1142                                        "type": "NamedArgument",
1143                                        "name": {
1144                                            "type": "Identifier",
1145                                            "name": "x"
1146                                        },
1147                                        "value": {
1148                                            "value": "1",
1149                                            "type": "NumberLiteral"
1150                                        }
1151                                    },
1152                                    {
1153                                        "type": "NamedArgument",
1154                                        "name": {
1155                                            "type": "Identifier",
1156                                            "name": "y"
1157                                        },
1158                                        "value": {
1159                                            "value": "2",
1160                                            "type": "NumberLiteral"
1161                                        }
1162                                    },
1163                                    {
1164                                        "type": "NamedArgument",
1165                                        "name": {
1166                                            "type": "Identifier",
1167                                            "name": "z"
1168                                        },
1169                                        "value": {
1170                                            "value": "3",
1171                                            "type": "NumberLiteral"
1172                                        }
1173                                    }
1174                                ]
1175                            }
1176                        }
1177                    }
1178                ]
1179            },
1180            "attributes": [],
1181            "comment": null
1182        },
1183        {
1184            "type": "Message",
1185            "id": {
1186                "type": "Identifier",
1187                "name": "unindented-colon"
1188            },
1189            "value": {
1190                "type": "Pattern",
1191                "elements": [
1192                    {
1193                        "type": "Placeable",
1194                        "expression": {
1195                            "type": "FunctionReference",
1196                            "id": {
1197                                "type": "Identifier",
1198                                "name": "FUN"
1199                            },
1200                            "arguments": {
1201                                "type": "CallArguments",
1202                                "positional": [],
1203                                "named": [
1204                                    {
1205                                        "type": "NamedArgument",
1206                                        "name": {
1207                                            "type": "Identifier",
1208                                            "name": "x"
1209                                        },
1210                                        "value": {
1211                                            "value": "1",
1212                                            "type": "NumberLiteral"
1213                                        }
1214                                    }
1215                                ]
1216                            }
1217                        }
1218                    }
1219                ]
1220            },
1221            "attributes": [],
1222            "comment": null
1223        },
1224        {
1225            "type": "Message",
1226            "id": {
1227                "type": "Identifier",
1228                "name": "unindented-value"
1229            },
1230            "value": {
1231                "type": "Pattern",
1232                "elements": [
1233                    {
1234                        "type": "Placeable",
1235                        "expression": {
1236                            "type": "FunctionReference",
1237                            "id": {
1238                                "type": "Identifier",
1239                                "name": "FUN"
1240                            },
1241                            "arguments": {
1242                                "type": "CallArguments",
1243                                "positional": [],
1244                                "named": [
1245                                    {
1246                                        "type": "NamedArgument",
1247                                        "name": {
1248                                            "type": "Identifier",
1249                                            "name": "x"
1250                                        },
1251                                        "value": {
1252                                            "value": "1",
1253                                            "type": "NumberLiteral"
1254                                        }
1255                                    }
1256                                ]
1257                            }
1258                        }
1259                    }
1260                ]
1261            },
1262            "attributes": [],
1263            "comment": null
1264        }
1265    ]
1266}
1267