Last active
July 8, 2020 22:43
-
-
Save i-am-the-slime/0a22cded374209f9b5f568c6ee17ad26 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"start": [ | |
2, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
42, | |
2 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | Counter example using side effects free updating" | |
} | |
], | |
[ | |
"Main" | |
], | |
[ | |
{ | |
"tag": "ImportDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
4, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
4, | |
15 | |
] | |
}, | |
[] | |
], | |
[ | |
"Prelude" | |
], | |
{ | |
"Implicit": [] | |
}, | |
null | |
] | |
}, | |
{ | |
"tag": "ImportDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
6, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
6, | |
23 | |
] | |
}, | |
[] | |
], | |
[ | |
"Effect" | |
], | |
{ | |
"Explicit": [ | |
{ | |
"TypeRef": [ | |
{ | |
"start": [ | |
6, | |
16 | |
], | |
"name": "NoName", | |
"end": [ | |
6, | |
22 | |
] | |
}, | |
"Effect", | |
[] | |
] | |
} | |
] | |
}, | |
null | |
] | |
}, | |
{ | |
"tag": "ImportDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
7, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
7, | |
39 | |
] | |
}, | |
[] | |
], | |
[ | |
"Flame" | |
], | |
{ | |
"Explicit": [ | |
{ | |
"TypeRef": [ | |
{ | |
"start": [ | |
7, | |
15 | |
], | |
"name": "NoName", | |
"end": [ | |
7, | |
32 | |
] | |
}, | |
"QuerySelector", | |
null | |
] | |
}, | |
{ | |
"TypeRef": [ | |
{ | |
"start": [ | |
7, | |
34 | |
], | |
"name": "NoName", | |
"end": [ | |
7, | |
38 | |
] | |
}, | |
"Html", | |
[] | |
] | |
} | |
] | |
}, | |
null | |
] | |
}, | |
{ | |
"tag": "ImportDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
8, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
8, | |
42 | |
] | |
}, | |
[] | |
], | |
[ | |
"Flame", | |
"Application", | |
"NoEffects" | |
], | |
{ | |
"Implicit": [] | |
}, | |
[ | |
"FAN" | |
] | |
] | |
}, | |
{ | |
"tag": "ImportDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
9, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
9, | |
32 | |
] | |
}, | |
[] | |
], | |
[ | |
"Flame", | |
"HTML", | |
"Element" | |
], | |
{ | |
"Implicit": [] | |
}, | |
[ | |
"HE" | |
] | |
] | |
}, | |
{ | |
"tag": "ImportDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
10, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
10, | |
34 | |
] | |
}, | |
[] | |
], | |
[ | |
"Flame", | |
"HTML", | |
"Attribute" | |
], | |
{ | |
"Implicit": [] | |
}, | |
[ | |
"HA" | |
] | |
] | |
}, | |
{ | |
"tag": "TypeSynonymDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
13, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
13, | |
17 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | The model represents the state of the app" | |
} | |
] | |
], | |
"Model", | |
[], | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
13, | |
14 | |
], | |
"name": "NoName", | |
"end": [ | |
13, | |
17 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Int" | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "DataDeclaration", | |
"contents": [ | |
[ | |
{ | |
"start": [ | |
16, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
16, | |
37 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | This datatype is used to signal events to `update`" | |
} | |
] | |
], | |
"data", | |
"Message", | |
[], | |
[ | |
{ | |
"dataCtorAnn": [ | |
{ | |
"start": [ | |
16, | |
14 | |
], | |
"name": "NoName", | |
"end": [ | |
16, | |
25 | |
] | |
}, | |
[] | |
], | |
"dataCtorName": "Increment", | |
"dataCtorFields": [] | |
}, | |
{ | |
"dataCtorAnn": [ | |
{ | |
"start": [ | |
16, | |
26 | |
], | |
"name": "NoName", | |
"end": [ | |
16, | |
37 | |
] | |
}, | |
[] | |
], | |
"dataCtorName": "Decrement", | |
"dataCtorFields": [] | |
} | |
] | |
] | |
}, | |
{ | |
"tag": "TypeDeclaration", | |
"contents": { | |
"tydeclIdent": { | |
"Ident": "init" | |
}, | |
"tydeclSourceAnn": [ | |
{ | |
"start": [ | |
19, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
19, | |
14 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | Initial state of the app" | |
} | |
] | |
], | |
"tydeclType": { | |
"annotation": [ | |
{ | |
"start": [ | |
19, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
19, | |
14 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Model" | |
] | |
} | |
} | |
}, | |
{ | |
"tag": "ValueDeclaration", | |
"contents": { | |
"valdeclExpression": [ | |
[ | |
[], | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
20, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
20, | |
9 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
20, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
20, | |
9 | |
] | |
}, | |
{ | |
"tag": "NumericLiteral", | |
"contents": { | |
"Left": 0 | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
], | |
"valdeclName": "Public", | |
"valdeclBinders": [], | |
"valdeclSourceAnn": [ | |
{ | |
"start": [ | |
20, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
20, | |
9 | |
] | |
}, | |
[] | |
], | |
"valdeclIdent": { | |
"Ident": "init" | |
} | |
} | |
}, | |
{ | |
"tag": "TypeDeclaration", | |
"contents": { | |
"tydeclIdent": { | |
"Ident": "update" | |
}, | |
"tydeclSourceAnn": [ | |
{ | |
"start": [ | |
23, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
36 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | `update` is called to handle events" | |
} | |
] | |
], | |
"tydeclType": { | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
11 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
36 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
11 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
36 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
17 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
19 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
[ | |
"Prim" | |
], | |
"Function" | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
11 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
16 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Model" | |
] | |
} | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
36 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
36 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
28 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
30 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
[ | |
"Prim" | |
], | |
"Function" | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
27 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Message" | |
] | |
} | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
23, | |
31 | |
], | |
"name": "NoName", | |
"end": [ | |
23, | |
36 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Model" | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"tag": "ValueDeclaration", | |
"contents": { | |
"valdeclExpression": [ | |
[ | |
[], | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
24, | |
16 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
31 | |
] | |
}, | |
[], | |
{ | |
"tag": "Case", | |
"contents": [ | |
[ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
24, | |
21 | |
], | |
"name": "NoName", | |
"end": [ | |
24, | |
22 | |
] | |
}, | |
[], | |
{ | |
"tag": "AnonymousArgument" | |
} | |
] | |
} | |
], | |
[ | |
{ | |
"caseAlternativeResult": [ | |
[ | |
[], | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
31 | |
] | |
}, | |
[], | |
{ | |
"tag": "BinaryNoParens", | |
"contents": [ | |
{ | |
"tag": "Op", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
28 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
29 | |
] | |
}, | |
[ | |
null, | |
"+" | |
] | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
27 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
27 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "model" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
30 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
31 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
30 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
31 | |
] | |
}, | |
{ | |
"tag": "NumericLiteral", | |
"contents": { | |
"Left": 1 | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
], | |
"caseAlternativeBinders": [ | |
{ | |
"tag": "PositionedBinder", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
18 | |
] | |
}, | |
[], | |
{ | |
"tag": "ConstructorBinder", | |
"contents": [ | |
{ | |
"start": [ | |
25, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
25, | |
18 | |
] | |
}, | |
[ | |
null, | |
"Increment" | |
], | |
[] | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"caseAlternativeResult": [ | |
[ | |
[], | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
31 | |
] | |
}, | |
[], | |
{ | |
"tag": "BinaryNoParens", | |
"contents": [ | |
{ | |
"tag": "Op", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
28 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
29 | |
] | |
}, | |
[ | |
null, | |
"-" | |
] | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
27 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
27 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "model" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
30 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
31 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
30 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
31 | |
] | |
}, | |
{ | |
"tag": "NumericLiteral", | |
"contents": { | |
"Left": 1 | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
], | |
"caseAlternativeBinders": [ | |
{ | |
"tag": "PositionedBinder", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
18 | |
] | |
}, | |
[], | |
{ | |
"tag": "ConstructorBinder", | |
"contents": [ | |
{ | |
"start": [ | |
26, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
18 | |
] | |
}, | |
[ | |
null, | |
"Decrement" | |
], | |
[] | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
] | |
} | |
] | |
} | |
] | |
], | |
"valdeclName": "Public", | |
"valdeclBinders": [ | |
{ | |
"tag": "PositionedBinder", | |
"contents": [ | |
{ | |
"start": [ | |
24, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
24, | |
13 | |
] | |
}, | |
[], | |
{ | |
"tag": "VarBinder", | |
"contents": [ | |
{ | |
"start": [ | |
24, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
24, | |
13 | |
] | |
}, | |
{ | |
"Ident": "model" | |
} | |
] | |
} | |
] | |
} | |
], | |
"valdeclSourceAnn": [ | |
{ | |
"start": [ | |
24, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
26, | |
31 | |
] | |
}, | |
[] | |
], | |
"valdeclIdent": { | |
"Ident": "update" | |
} | |
} | |
}, | |
{ | |
"tag": "TypeDeclaration", | |
"contents": { | |
"tydeclIdent": { | |
"Ident": "view" | |
}, | |
"tydeclSourceAnn": [ | |
{ | |
"start": [ | |
29, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
30 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | `view` updates the app markup whenever the model is updated" | |
} | |
] | |
], | |
"tydeclType": { | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
30 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
30 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
15 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
17 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
[ | |
"Prim" | |
], | |
"Function" | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
14 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Model" | |
] | |
} | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
18 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
30 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
18 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
22 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Html" | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
29, | |
23 | |
], | |
"name": "NoName", | |
"end": [ | |
29, | |
30 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Message" | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"tag": "ValueDeclaration", | |
"contents": { | |
"valdeclExpression": [ | |
[ | |
[], | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
14 | |
], | |
"name": "NoName", | |
"end": [ | |
34, | |
2 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
14 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
28 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
14 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
21 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
14 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
21 | |
] | |
}, | |
[ | |
[ | |
"HE" | |
], | |
{ | |
"Ident": "main" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
28 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
22 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
28 | |
] | |
}, | |
{ | |
"tag": "StringLiteral", | |
"contents": "main" | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
29 | |
], | |
"name": "NoName", | |
"end": [ | |
34, | |
2 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
29 | |
], | |
"name": "NoName", | |
"end": [ | |
34, | |
2 | |
] | |
}, | |
{ | |
"tag": "ArrayLiteral", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
45 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
41 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
18 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
18 | |
] | |
}, | |
[ | |
[ | |
"HE" | |
], | |
{ | |
"Ident": "button" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
41 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
41 | |
] | |
}, | |
{ | |
"tag": "ArrayLiteral", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
40 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
30 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
30 | |
] | |
}, | |
[ | |
[ | |
"HA" | |
], | |
{ | |
"Ident": "onClick" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
31 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
40 | |
] | |
}, | |
[], | |
{ | |
"tag": "Constructor", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
31 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
40 | |
] | |
}, | |
[ | |
null, | |
"Decrement" | |
] | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
42 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
45 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
31, | |
42 | |
], | |
"name": "NoName", | |
"end": [ | |
31, | |
45 | |
] | |
}, | |
{ | |
"tag": "StringLiteral", | |
"contents": "-" | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
29 | |
] | |
}, | |
[], | |
{ | |
"tag": "BinaryNoParens", | |
"contents": [ | |
{ | |
"tag": "Op", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
17 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
18 | |
] | |
}, | |
[ | |
null, | |
"$" | |
] | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
16 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
16 | |
] | |
}, | |
[ | |
[ | |
"HE" | |
], | |
{ | |
"Ident": "text" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
29 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
23 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
23 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "show" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
24 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
29 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
32, | |
24 | |
], | |
"name": "NoName", | |
"end": [ | |
32, | |
29 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "model" | |
} | |
] | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
45 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
41 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
18 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
18 | |
] | |
}, | |
[ | |
[ | |
"HE" | |
], | |
{ | |
"Ident": "button" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
41 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
41 | |
] | |
}, | |
{ | |
"tag": "ArrayLiteral", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
40 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
30 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
30 | |
] | |
}, | |
[ | |
[ | |
"HA" | |
], | |
{ | |
"Ident": "onClick" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
31 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
40 | |
] | |
}, | |
[], | |
{ | |
"tag": "Constructor", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
31 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
40 | |
] | |
}, | |
[ | |
null, | |
"Increment" | |
] | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
42 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
45 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
33, | |
42 | |
], | |
"name": "NoName", | |
"end": [ | |
33, | |
45 | |
] | |
}, | |
{ | |
"tag": "StringLiteral", | |
"contents": "+" | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
], | |
"valdeclName": "Public", | |
"valdeclBinders": [ | |
{ | |
"tag": "PositionedBinder", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
6 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
11 | |
] | |
}, | |
[], | |
{ | |
"tag": "VarBinder", | |
"contents": [ | |
{ | |
"start": [ | |
30, | |
6 | |
], | |
"name": "NoName", | |
"end": [ | |
30, | |
11 | |
] | |
}, | |
{ | |
"Ident": "model" | |
} | |
] | |
} | |
] | |
} | |
], | |
"valdeclSourceAnn": [ | |
{ | |
"start": [ | |
30, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
34, | |
2 | |
] | |
}, | |
[] | |
], | |
"valdeclIdent": { | |
"Ident": "view" | |
} | |
} | |
}, | |
{ | |
"tag": "TypeDeclaration", | |
"contents": { | |
"tydeclIdent": { | |
"Ident": "main" | |
}, | |
"tydeclSourceAnn": [ | |
{ | |
"start": [ | |
37, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
37, | |
20 | |
] | |
}, | |
[ | |
{ | |
"LineComment": " | Mount the application on the given selector" | |
} | |
] | |
], | |
"tydeclType": { | |
"annotation": [ | |
{ | |
"start": [ | |
37, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
37, | |
20 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeApp", | |
"contents": [ | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
37, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
37, | |
15 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Effect" | |
] | |
}, | |
{ | |
"annotation": [ | |
{ | |
"start": [ | |
37, | |
16 | |
], | |
"name": "NoName", | |
"end": [ | |
37, | |
20 | |
] | |
}, | |
[] | |
], | |
"tag": "TypeConstructor", | |
"contents": [ | |
null, | |
"Unit" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"tag": "ValueDeclaration", | |
"contents": { | |
"valdeclExpression": [ | |
[ | |
[], | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
42, | |
2 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
41 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
18 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
8 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
18 | |
] | |
}, | |
[ | |
[ | |
"FAN" | |
], | |
{ | |
"Ident": "mount_" | |
} | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
19 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
41 | |
] | |
}, | |
[], | |
{ | |
"tag": "Parens", | |
"contents": { | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
40 | |
] | |
}, | |
[], | |
{ | |
"tag": "App", | |
"contents": [ | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
33 | |
] | |
}, | |
[], | |
{ | |
"tag": "Constructor", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
20 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
33 | |
] | |
}, | |
[ | |
null, | |
"QuerySelector" | |
] | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
34 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
40 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
34 | |
], | |
"name": "NoName", | |
"end": [ | |
38, | |
40 | |
] | |
}, | |
{ | |
"tag": "StringLiteral", | |
"contents": "main" | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
42 | |
], | |
"name": "NoName", | |
"end": [ | |
42, | |
2 | |
] | |
}, | |
[], | |
{ | |
"tag": "Literal", | |
"contents": [ | |
{ | |
"start": [ | |
38, | |
42 | |
], | |
"name": "NoName", | |
"end": [ | |
42, | |
2 | |
] | |
}, | |
{ | |
"tag": "ObjectLiteral", | |
"contents": [ | |
[ | |
"init", | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
39, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
39, | |
13 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
39, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
39, | |
13 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "init" | |
} | |
] | |
] | |
} | |
] | |
} | |
], | |
[ | |
"update", | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
40, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
40, | |
15 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
40, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
40, | |
15 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "update" | |
} | |
] | |
] | |
} | |
] | |
} | |
], | |
[ | |
"view", | |
{ | |
"tag": "PositionedValue", | |
"contents": [ | |
{ | |
"start": [ | |
41, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
41, | |
13 | |
] | |
}, | |
[], | |
{ | |
"tag": "Var", | |
"contents": [ | |
{ | |
"start": [ | |
41, | |
9 | |
], | |
"name": "NoName", | |
"end": [ | |
41, | |
13 | |
] | |
}, | |
[ | |
null, | |
{ | |
"Ident": "view" | |
} | |
] | |
] | |
} | |
] | |
} | |
] | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
], | |
"valdeclName": "Public", | |
"valdeclBinders": [], | |
"valdeclSourceAnn": [ | |
{ | |
"start": [ | |
38, | |
1 | |
], | |
"name": "NoName", | |
"end": [ | |
42, | |
2 | |
] | |
}, | |
[] | |
], | |
"valdeclIdent": { | |
"Ident": "main" | |
} | |
} | |
} | |
], | |
null | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment