-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScratch.roc
More file actions
72 lines (64 loc) · 1.44 KB
/
Scratch.roc
File metadata and controls
72 lines (64 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
module []
Logical a : [
Not a,
And List a,
Or List a,
Xor List a,
]
TypeFacts a : [
IsBoolean,
IsNumber,
IsString,
IsNull,
IsUndefined,
IsRegExp,
IsBigInt,
IsSymbol,
IsObject,
IsFunction,
IsArray,
IsTypedArray,
IsConcrete,
IsAny,
IsUnknown,
HasProps (Dict Str a),
]
Ast : [
Node {
kind : [
# Program structure
Program,
ModuleDeclaration,
# Statements
ExpressionStatement,
BlockStatement,
IfStatement (Ast, Ast),
ForStatement,
WhileStatement,
ReturnStatement,
FunctionDeclaration,
VariableDeclaration,
#
# Expressions
BinaryExpression,
UnaryExpression,
CallExpression,
MemberExpression,
ConditionalExpression,
# Literals
Identifier,
NumericLiteral,
StringLiteral,
BooleanLiteral,
NullLiteral,
# TypeScript specific
TypeAnnotation,
InterfaceDeclaration,
# Other
Error,
],
# loc : Location,
id : U64,
type : Logical TypeFacts Ast,
},
]