Mark Eibes
2020-07-08T22:43:29Z

PureScriptCST.json

| [
| {
| "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
| ]