[ {"type":"KeywordNamespace","value":"module"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"main"}, {"type":"Text","value":"\n\n"}, {"type":"LiteralStringDoc","value":"// main module\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"os"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"input"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"user_os"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Text","value":"\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"math"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"MyTime"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameClass","value":"Time"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'hello world'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sub"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"50"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":"\n\n\t"}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"write_log"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"return_error"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Error: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"err"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"n"}, {"type":"LiteralStringSingle","value":" bytes written'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n\t"}, {"type":"CommentSingle","value":"// Functions can be passed to other functions\n"}, {"type":"Text","value":"\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"run"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sqr"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"25\"\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// Anonymous functions can be declared inside other functions:\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"double_fn"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"run"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"double_fn"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"10\"\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// Functions can be passed around without assigning them to variables:\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"res"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"run"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"})"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"res"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"10\"\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// You can even have an array/map of functions:\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"fns"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"sqr"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cube"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"fns"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":"]("}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"100\"\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"fns_map"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"LiteralStringSingle","value":"'sqr'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"sqr"}, {"type":"Text","value":"\n\t\t"}, {"type":"LiteralStringSingle","value":"'cube'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cube"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"fns_map"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'cube'"}, {"type":"Punctuation","value":"]("}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"8\"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"add"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sub"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// This is a single line comment.\n"}, {"type":"CommentMultiline","value":"/*\nThis is a multiline comment.\n /* It can be nested. */\n*/"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"foo"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"foo"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 2\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 3\n"}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"_"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"foo"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// ignore values using `_`\n"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Bob'"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringAffix","value":"r"}, {"type":"LiteralString","value":"'hello\\nworld'"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// all int literals are supported\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'0xc3'"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"195"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'0o10'"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"8"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'0b1111_0000_1010'"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3850"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'-0b1111_0000_1010'"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"3850"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Bob'"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Hello, "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"name"}, {"type":"LiteralStringSingle","value":"!'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// Hello, Bob!\n"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"123.4567"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":":."}, {"type":"LiteralNumber","value":"2"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":":"}, {"type":"LiteralNumber","value":"10"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":"):"}, {"type":"Operator","value":"-"}, {"type":"LiteralNumber","value":"10"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":"):"}, {"type":"Operator","value":"0"}, {"type":"LiteralNumber","value":"10"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":"):"}, {"type":"LiteralStringAffix","value":"b"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":"):"}, {"type":"LiteralStringAffix","value":"o"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":"):"}, {"type":"LiteralStringAffix","value":"X"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberFloat","value":"10.0000"}, {"type":"Punctuation","value":":."}, {"type":"LiteralNumber","value":"2"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'["}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberFloat","value":"10.0000"}, {"type":"Punctuation","value":":."}, {"type":"LiteralNumber","value":"2"}, {"type":"LiteralStringAffix","value":"f"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"]'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"rocket"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`🚀`"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"rocket"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"bytes"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"u8"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberHex","value":"0xf0"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x9f"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x9a"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x80"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\x61"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`a`"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\141"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`a`"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\u0061"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`a`"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// multibyte literals work too\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\u2605"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`★`"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\u2605"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"bytes"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"u8"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberHex","value":"0xe2"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x98"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x85"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\xe2\\x98\\x85"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"bytes"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"u8"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberHex","value":"0xe2"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x98"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x85"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`"}, {"type":"LiteralStringEscape","value":"\\342\\230\\205"}, {"type":"LiteralStringChar","value":"`"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"bytes"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"u8"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberHex","value":"0xe2"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x98"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x85"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x7B"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberBin","value":"0b01111011"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberOct","value":"0o173"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1_000_000"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"three"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberBin","value":"0b0_11"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"float_num"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"3_122.55"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"hexa"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0xF_F"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"oct"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberOct","value":"0o17_3"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"i64"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"123"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"u8"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"42"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"i16"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"12345"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"f"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"1.0"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"f1"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"f64"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberFloat","value":"3.14"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"f2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"f32"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberFloat","value":"3.14"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"f0"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"42e1"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 420\n"}, {"type":"NameVariable","value":"f1"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"123e-2"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 1.23\n"}, {"type":"NameVariable","value":"f2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"456e+2"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 45600\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"7"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"names"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'John'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"names"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Peter'"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"names"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Sam'"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"names"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'John'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Peter'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Sam'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Alex'"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"names"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"false\"\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"3\"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"cap"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"3\" or greater\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// The array is now empty\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"0\"\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10000"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cap"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"30000"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"init"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"users"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"cap"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1000"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"numbers"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 0\n// Now appending elements won't reallocate\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Operator","value":".."}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1000"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"square"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"init"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"it"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"it"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// square == [0, 1, 4, 9, 16, 25]\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Line"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"p1"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"p2"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"ObjectSumType"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Line"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"object_list"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameClass","value":"ObjectSumType"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"object_list"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"object_list"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Line"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"p1"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"p2"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Point"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"dump"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"object_list"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentMultiline","value":"/*\nobject_list: [ObjectSumType(Point{\n\tx: 1\n\ty: 1\n}), ObjectSumType(Line{\n\tp1: Point{\n\t\tx: 3\n\t\ty: 3\n\t}\n\tp2: Point{\n\t\tx: 4\n\t\ty: 4\n\t}\n})]\n*/"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[][]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"init"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"}}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":"]["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"even"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"filter"}, {"type":"Punctuation","value":"("}, {"type":"NameVariableMagic","value":"it"}, {"type":"Text","value":" "}, {"type":"Operator","value":"%"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"even"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [2, 4, 6]\n// filter can accept anonymous functions\n"}, {"type":"NameVariable","value":"even_fn"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"filter"}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":"%"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"})"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"even_fn"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"any"}, {"type":"Punctuation","value":"("}, {"type":"NameVariableMagic","value":"it"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// true\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"all"}, {"type":"Punctuation","value":"("}, {"type":"NameVariableMagic","value":"it"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003e="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// false\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"numbers"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"sort"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 1, 2, 3\n"}, {"type":"NameVariable","value":"numbers"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"sort"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 3, 2, 1\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":"\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"users"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"21"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Bob'"}, {"type":"Punctuation","value":"},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Zarkon'"}, {"type":"Punctuation","value":"},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"25"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Alice'"}, {"type":"Punctuation","value":"}]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"users"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"sort"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// sort by User.age int field\n"}, {"type":"NameVariable","value":"users"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"sort"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// reverse sort by User.name string field\n"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"custom_sort_fn"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// return -1 when a comes before b\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// return 0, when both are in same order\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// return 1 when b comes before a\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"users"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"sort_with_compare"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"custom_sort_fn"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"30"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"40"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Operator","value":".."}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [10, 20, 30]\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":".."}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [0, 10, 20, 30]\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Operator","value":".."}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [10, 20, 30, 40]\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Operator","value":".."}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":"]."}, {"type":"NameBuiltin","value":"clone"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"7"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"8"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"9"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Operator","value":".."}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [7, 8, 9]\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Operator","value":".."}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Operator","value":"..-"}, {"type":"LiteralNumberInteger","value":"8"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [0, 1]\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":"..-"}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// [0, 1, 2, 3, 4, 5, 6]\n"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// empty arrays\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Operator","value":"..-"}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// []\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Operator","value":".."}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// []\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Operator","value":".."}, {"type":"LiteralNumberInteger","value":"30"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// []\n"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"files"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'pippo.jpg'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'01.bmp'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'_v.txt'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'img_02.jpg'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'img_01.JPG'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"filtered"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"files"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"filter"}, {"type":"Punctuation","value":"("}, {"type":"NameVariableMagic","value":"it"}, {"type":"Operator","value":"#"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Operator","value":".."}, {"type":"Punctuation","value":"]."}, {"type":"NameBuiltin","value":"to_lower"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'.jpg'"}, {"type":"Punctuation","value":")."}, {"type":"KeywordDeclaration","value":"map"}, {"type":"Punctuation","value":"("}, {"type":"NameVariableMagic","value":"it"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"to_upper"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"fnums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// fnums is a fixed size array with 3 elements.\n"}, {"type":"NameVariable","value":"fnums"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"fnums"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"fnums"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"fnums"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// =\u003e [1, 10, 100]\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"Keyword","value":"typeof"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"fnums"}, {"type":"Punctuation","value":")."}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// =\u003e [3]int\n"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"anums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"fnums"}, {"type":"Punctuation","value":"["}, {"type":"Operator","value":".."}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"map"}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":"]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// a map with `string` keys and `int` values\n"}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'two'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"1\"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'bad_key'"}, {"type":"Punctuation","value":"])"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"0\"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'bad_key'"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// Use `in` to detect whether such key exists\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"keys"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// ['one', 'two']\n"}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"delete"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'two'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'two'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"numbers"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"large_index"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"999"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"val"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"large_index"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"panic"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'out of bounds'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"val"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// you can also do this, if you want to *propagate* the access error:\n"}, {"type":"NameVariable","value":"val2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"333"}, {"type":"Punctuation","value":"]"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"val2"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"input"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Enter your name: '"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Hello, "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"name"}, {"type":"LiteralStringSingle","value":"!'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"t"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"MyTime"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"century"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberFloat","value":"1.0"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"math"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"trunc"}, {"type":"Punctuation","value":"("}, {"type":"NameBuiltin","value":"f64"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"t"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"year"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"0.009999794661191"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"my_time"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"MyTime"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"year"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2020"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"month"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"12"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"day"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"25"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"new_time"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"my_time"}, {"type":"Punctuation","value":")."}, {"type":"NameFunction","value":"utc_string"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Century: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"my_time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"century"}, {"type":"Punctuation","value":"()"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"LiteralStringSingle","value":" \u003c "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"LiteralStringSingle","value":" \u003e "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"LiteralStringSingle","value":" == "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"777"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Operator","value":"%"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'even'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'odd'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// \"odd\"\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"val"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Xyz"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"foo"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Alphabet"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Xyz"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Alphabet"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"Abc"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralStringSingle","value":"'test'"}, {"type":"Punctuation","value":"})"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// sum type\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"is"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// x is automatically casted to Abc and can be used here\n"}, {"type":"Text","value":"\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!"}, {"type":"Keyword","value":"is"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Not Abc'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Abc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// x is automatically casted to Abc and can be used here\n"}, {"type":"Text","value":"\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Xyz"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// x is automatically casted to Xyz and can be used here\n"}, {"type":"Text","value":"\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// true\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!"}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// true\n"}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'two'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// true\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'three'"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!"}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"m"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// true\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"enum"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Token"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"plus"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"minus"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"div"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"mult"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Parser"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"token"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Token"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"parser"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Parser"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"parser"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"token"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"plus"}, {"type":"Text","value":" "}, {"type":"Operator","value":"||"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"parser"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"token"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"minus"}, {"type":"Text","value":" "}, {"type":"Operator","value":"||"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"parser"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"token"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"div"}, {"type":"Text","value":" "}, {"type":"Operator","value":"||"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"parser"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"token"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"mult"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"parser"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"token"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[."}, {"type":"NameVariable","value":"plus"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"minus"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"div"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"mult"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"num"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"SquareIterator"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"idx"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"iter"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"SquareIterator"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"next"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"idx"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003e="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"error"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"''"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"defer"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"idx"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"idx"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"iter"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"idx"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"iter"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"SquareIterator"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"squared"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"iter"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"squared"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'two'"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"key"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"value"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"key"}, {"type":"LiteralStringSingle","value":" -\u003e "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"value"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// Output: one -\u003e 1\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"//\t\t two -\u003e 2\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sum"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"sum"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"i"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003e="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"break"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// Don't print 6\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"continue"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameLabel","value":"outer"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":" "}, {"type":"KeywordConstant","value":"true"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Operator","value":"++"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"7"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"continue"}, {"type":"Text","value":" "}, {"type":"NameLabel","value":"outer"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"break"}, {"type":"Text","value":" "}, {"type":"NameLabel","value":"outer"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"os"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'darwin'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'macOS.'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringSingle","value":"'linux'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Linux.'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"number"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'two'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'many'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"KeywordConstant","value":"true"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'if'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'else if'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'else if2'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'else'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"enum"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"red"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"blue"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"green"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"is_red_or_blue"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"red"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"blue"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"KeywordConstant","value":"true"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// comma can be used to test multiple values\n"}, {"type":"Text","value":"\t\t"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"green"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"KeywordConstant","value":"false"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`v`"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"typ"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringChar","value":"`0`"}, {"type":"Operator","value":"..."}, {"type":"LiteralStringChar","value":"`9`"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'digit'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringChar","value":"`A`"}, {"type":"Operator","value":"..."}, {"type":"LiteralStringChar","value":"`Z`"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'uppercase'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"LiteralStringChar","value":"`a`"}, {"type":"Operator","value":"..."}, {"type":"LiteralStringChar","value":"`z`"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'lowercase'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'other'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"enum"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"State"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"normal"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"write_log"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"return_error"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// write log file and return number of bytes written\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"write_log"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"State"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"f"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"create"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'log.txt'"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"defer"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"f"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"close"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"write_log"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// `f.close()` will be called after `f.write()` has been\n"}, {"type":"Text","value":"\t\t"}, {"type":"CommentSingle","value":"// executed, but before `write_log()` finally returns the\n"}, {"type":"Text","value":"\t\t"}, {"type":"CommentSingle","value":"// number of bytes written to `main()`\n"}, {"type":"Text","value":"\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"f"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"writeln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'This is a log file'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"return_error"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// the file will be closed after the `error()` function\n"}, {"type":"Text","value":"\t\t"}, {"type":"CommentSingle","value":"// has returned - so the error message will still report\n"}, {"type":"Text","value":"\t\t"}, {"type":"CommentSingle","value":"// it as open\n"}, {"type":"Text","value":"\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"error"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'nothing written; file open: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"f"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"is_opened"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// the file will be closed here, too\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"params"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"ButtonConfig"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"text"}, {"type":"Text","value":"\t\t"}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"is_disabled"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"width"}, {"type":"Text","value":"\t\t"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"70"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"height"}, {"type":"Text","value":"\t\t"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Button"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"text"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"width"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"height"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"new_button"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"ButtonConfig"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"Button"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"Button"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"width"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"width"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"height"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"height"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"text"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"text"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"button"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"new_button"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"text"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Click me'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"width"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// the height is unset, so it's the default value\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"button"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"height"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Text","value":"\n"}, {"type":"NameFunction","value":"new_button"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"ButtonConfig"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"text"}, {"type":"Punctuation","value":":"}, {"type":"LiteralStringSingle","value":"'Click me'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"width"}, {"type":"Punctuation","value":":"}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Punctuation","value":"})"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Foo"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// private immutable (default)\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// private mutable\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// (you can list multiple fields with the same access modifier)\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"d"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// public immutable (readonly)\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"e"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// public, but mutable only in parent module\n"}, {"type":"KeywordDeclaration","value":"__global"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// (not recommended to use, that's why the 'global' keyword starts with __)\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"f"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// public and mutable both inside and outside parent module\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"u"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"can_register"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"u"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"16"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"can_register"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"false\"\n"}, {"type":"NameVariable","value":"user2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user2"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"can_register"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"true\"\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Size"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"width"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"height"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"Size"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"area"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"width"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"height"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Button"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Size"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"title"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"button"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Button"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"title"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Click me'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"height"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"button"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"width"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"button"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"area"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"button"}, {"type":"Punctuation","value":"."}, {"type":"NameClass","value":"Size"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"area"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"button"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Button"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Size"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Size"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"width"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"height"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Rgba32_Component"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"byte"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"g"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"byte"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"byte"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"byte"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"union"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Rgba32"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Rgba32_Component"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"value"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"clr1"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Rgba32"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"value"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberHex","value":"0x008811FF"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"clr2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Rgba32"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Rgba32_Component"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Rgba32_Component"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"128"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"sz"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"sizeof"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"Rgba32"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Size: "}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"sz"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"B,clr1.b: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"clr1"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":",clr2.b: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"clr2"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"multiply_by_2"}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Operator","value":".."}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"arr"}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameFunction","value":"multiply_by_2"}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"nums"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// \"[2, 4, 6]\"\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":"\t\t "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":"\t\t\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"is_registered"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"register"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"u"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Operator","value":"..."}, {"type":"NameVariable","value":"u"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"is_registered"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"KeywordConstant","value":"true"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'abc'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"23"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"register"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"..."}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"total"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"total"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"total"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 0\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 1\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 5\n// using array decomposition\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"..."}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \u003c-- using prefix ... here. output: 9\n"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"6"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"7"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"..."}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// output: 18\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sqr"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"cube"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"run"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"value"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"op"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"op"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"value"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"my_int"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"my_closure"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"my_int"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"my_int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameFunction","value":"my_closure"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// prints 1\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"new_counter"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"i"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"new_counter"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"c"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 1\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"c"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 2\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"c"}, {"type":"Punctuation","value":"())"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 3\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ref"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"print_counter"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"ref"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"*"}, {"type":"NameVariable","value":"ref"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameFunction","value":"print_counter"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 0\n"}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":"\n"}, {"type":"NameFunction","value":"print_counter"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 10\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Foo"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"abc"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"foo"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"Foo"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"bar"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"foo"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"abc"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"val"}, {"type":"Text","value":"\t "}, {"type":"NameClass","value":"T"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"left"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"right"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"const"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"pi"}, {"type":"Text","value":"\t "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"3.14"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"world"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'世界'"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"const"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"e"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"2.71828"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"g"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"rgb"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"g"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"g"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"g"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"const"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"red"}, {"type":"Text","value":"\t\t"}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"255"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"g"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// evaluate function call at compile-time*\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"blue"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"rgb"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"255"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"module"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"mymodule"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"const"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"golden_ratio"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"1.61803"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"calc"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"mymodule"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"golden_ratio"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"say_hi"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'hello from mymodule!'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"factorial"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"dump"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"dump"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"dump"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"factorial"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"init"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// your setup code here ...\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Dog"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"breed"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"d"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Dog"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"speak"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'woof'"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cat"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"breed"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cat"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"speak"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'meow'"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// unlike Go and like TypeScript, V's interfaces can define fields, not just methods.\n"}, {"type":"KeywordDeclaration","value":"interface"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Speaker"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"breed"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"speak"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"dog"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Dog"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralStringSingle","value":"'Leonberger'"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"cat"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cat"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralStringSingle","value":"'Siamese'"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameClass","value":"Speaker"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"dog"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cat"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"item"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arr"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'a "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"item"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"breed"}, {"type":"LiteralStringSingle","value":" says: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"item"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"speak"}, {"type":"Punctuation","value":"()"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"interface"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Reader"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"read"}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"buf"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameVariable","value":"byte"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"interface"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Writer"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"write"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"buf"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameVariable","value":"byte"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"LiteralStringDoc","value":"// "}, {"type":"GenericEmph","value":"ReaderWriter"}, {"type":"LiteralStringDoc","value":" embeds both Reader and Writer.\n// The effect is the same as copy/pasting all of the\n// Reader and all of the Writer methods/fields into\n// ReaderWriter.\n"}, {"type":"KeywordDeclaration","value":"pub"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"interface"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"ReaderWriter"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Reader"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"Writer"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Filter"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"filter"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"f"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Filter"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"f"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"my_filter"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Filter"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"uppercase"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"my_filter"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"uppercase"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"enum"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Operator","value":"@"}, {"type":"NameVariable","value":"none"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"red"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"green"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"blue"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"color"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Color"}, {"type":"Punctuation","value":"."}, {"type":"Operator","value":"@"}, {"type":"NameVariable","value":"none"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"enum"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cycle"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"one"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"two"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"three"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cycle"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"next"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cycle"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"one"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"two"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"two"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"three"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"three"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"one"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Cycle"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"one"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"_"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Operator","value":".."}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"next"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"value"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"left"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Tree"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"right"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Tree"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Tree"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Text","value":"\n\n"}, {"type":"LiteralStringDoc","value":"// "}, {"type":"GenericEmph","value":"sum"}, {"type":"LiteralStringDoc","value":" up all node values\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"tree"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Tree"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"tree"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameClass","value":"Empty"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameClass","value":"Node"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"tree"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"value"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"tree"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"left"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"tree"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"right"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"left"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberFloat","value":"0.2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Punctuation","value":"{},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Punctuation","value":"{}}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"right"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberFloat","value":"0.3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Punctuation","value":"{},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberFloat","value":"0.4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Punctuation","value":"{},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Empty"}, {"type":"Punctuation","value":"{}}}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"tree"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Node"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberFloat","value":"0.5"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"left"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"right"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameFunction","value":"sum"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"tree"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 0.2 + 0.3 + 0.4 + 0.5 = 1.4\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Moon"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Venus"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"World"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Moon"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Venus"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"dust_storm"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"KeywordConstant","value":"true"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"World"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"Moon"}, {"type":"Punctuation","value":"{})"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"is"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Moon"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// use `as` to access the Mars instance\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"mars"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"as"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"mars"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"dust_storm"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'bad weather!'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"is"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"typeof"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"w"}, {"type":"Punctuation","value":")."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Mars'"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"dust_storm"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'bad weather!'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Moon"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"moon_walk"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Mars"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"shiver"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"v"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Venus"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sweat"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"pass_time"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"World"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"match"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// using the shadowed match variable, in this case `w` (smart cast)\n"}, {"type":"Text","value":"\t\t"}, {"type":"NameClass","value":"Moon"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"moon_walk"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameClass","value":"Mars"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"w"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"shiver"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":"\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"users"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameClass","value":"User"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"find_user_by_id"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"!"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"users"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"CommentSingle","value":"// V automatically wraps this into an option type\n"}, {"type":"Text","value":"\t\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"error"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'User "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"id"}, {"type":"LiteralStringSingle","value":" not found'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"repo"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"users"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Andrew'"}, {"type":"Punctuation","value":"},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Bob'"}, {"type":"Punctuation","value":"},"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Charles'"}, {"type":"Punctuation","value":"}]"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"repo"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"find_user_by_id"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t "}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"err"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"User 10 not found\"\n"}, {"type":"Text","value":"\t\t "}, {"type":"Keyword","value":"return"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"id"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"10\"\n"}, {"type":"Text","value":"\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"Charles\"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"net"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"http"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"f"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"url"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"resp"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"http"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"get"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"url"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"resp"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"text"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"resp"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"http"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"get"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"url"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"err"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"resp"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"http"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"get"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'https://google.com'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"resp"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"text"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// resp is a http.Response, not an optional\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"err"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"do_something"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"!"}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'foo'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'foo'"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"error"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'invalid string'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// Could be `return none` as well\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"do_something"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'foo'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'default'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// a will be 'foo'\n"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"do_something"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'bar'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'default'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// b will be 'default'\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"db"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"DB"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":"\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Post"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":"\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"user_id"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"title"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"body"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"new_repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e("}, {"type":"NameVariable","value":"db"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"DB"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e{"}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// This is a generic function. V will generate it for every type it's used with.\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e)"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"find_by_id"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"NameClass","value":"T"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"table_name"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// in this example getting the name of the type gives us the table name\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"query_one"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e("}, {"type":"LiteralStringSingle","value":"'select * from "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"table_name"}, {"type":"LiteralStringSingle","value":" where id = ?'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"id"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"db"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"new_db"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"users_repo"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"new_repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"\u003e("}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// returns Repo\u003cUser\u003e\n"}, {"type":"NameVariable","value":"posts_repo"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"new_repo"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"Post"}, {"type":"Punctuation","value":"\u003e("}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// returns Repo\u003cPost\u003e\n"}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"users_repo"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"find_by_id"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// find_by_id\u003cUser\u003e\n"}, {"type":"NameVariable","value":"post"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"posts_repo"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"find_by_id"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// find_by_id\u003cPost\u003e\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"compare"}, {"type":"Punctuation","value":"\u003c"}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":"\u003e("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"T"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003c"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"p"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// ordinary function without return value\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"math"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqrt"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"p"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// p will be run in parallel thread\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"get_hypot"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"sqrt"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"g"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"get_hypot"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberFloat","value":"54.06"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"2.08"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// spawn thread and get handle to it\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"h1"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"get_hypot"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberFloat","value":"2.32"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"16.74"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// do some other calculation here\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"h2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"g"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"wait"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\t\t\t\t "}, {"type":"CommentSingle","value":"// get result from spawned thread\n"}, {"type":"Text","value":"\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Results: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"h1"}, {"type":"LiteralStringSingle","value":", "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"h2"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// prints `Results: 16.9, 54.1`\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"task"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"duration"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'task "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"id"}, {"type":"LiteralStringSingle","value":" begin'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sleep"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"duration"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"millisecond"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'task "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"id"}, {"type":"LiteralStringSingle","value":" end'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"threads"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameVariable","value":"thread"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"threads"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"task"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"500"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"threads"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"task"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"900"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"threads"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"task"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"threads"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"wait"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'done'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"expensive_computing"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"threads"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"[]"}, {"type":"NameVariable","value":"thread"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Operator","value":".."}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"threads"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c\u003c"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"expensive_computing"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// Join all tasks\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"threads"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"wait"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'All jobs finished: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"r"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"ch"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// unbuffered - \"synchronous\"\n"}, {"type":"NameVariable","value":"ch2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"cap"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// buffer length 100\n"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"ch"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"ch2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"NameVariable","value":"ch"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"close"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"NameVariable","value":"ch"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'channel has been closed'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// propagate error\n"}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"NameVariable","value":"ch2"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"ch"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"ch2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"ch3"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"0.0"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"1.0"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ... setup go threads that will send on ch/ch2\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"the_channel"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sleep"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"millisecond"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"the_channel"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"1.0"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}("}, {"type":"NameVariable","value":"ch"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"the_channel"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sleep"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"millisecond"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"the_channel"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"1.0"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}("}, {"type":"NameVariable","value":"ch2"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"the_channel"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"_"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"NameVariable","value":"the_channel"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}("}, {"type":"NameVariable","value":"ch3"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n\t"}, {"type":"Keyword","value":"select"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"NameVariable","value":"ch"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"CommentSingle","value":"// do something with `a`\n"}, {"type":"Text","value":"\t\t\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'\u003e a: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"NameVariable","value":"ch2"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"CommentSingle","value":"// do something with predeclared variable `b`\n"}, {"type":"Text","value":"\t\t\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'\u003e b: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"ch3"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u003c-"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"CommentSingle","value":"// do something if `c` was sent\n"}, {"type":"Text","value":"\t\t\t"}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sleep"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"millisecond"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'\u003e c: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"c"}, {"type":"LiteralStringSingle","value":" was send on channel ch3'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"LiteralNumberInteger","value":"500"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"millisecond"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"CommentSingle","value":"// do something if no channel has become ready within 0.5s\n"}, {"type":"Text","value":"\t\t\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'\u003e more than 0.5s passed without a channel being ready'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'\u003e done'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberFloat","value":"2.13"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"ch"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"f64"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"res"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ch"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"try_push"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// try to perform `ch \u003c- a`\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"res"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"l"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ch"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// number of elements in queue\n"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ch"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"cap"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// maximum queue length\n"}, {"type":"NameVariable","value":"is_closed"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ch"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"closed"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// bool flag - has `ch` been closed\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"l"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"ch2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"chan"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Abc"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"res2"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ch2"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"try_pop"}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// try to perform `b = \u003c-ch2`\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"St"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// data to be shared\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"shared"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"St"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"g"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"lock"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// read/modify/write b.x\n"}, {"type":"Text","value":"\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"shared"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"St"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"g"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"rlock"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// read a.x\n"}, {"type":"Text","value":"\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"json"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Foo"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"required"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":"\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// Use the `skip` attribute to skip certain fields\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"foo"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Foo"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"skip"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// If the field name is different in JSON, it can be specified\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"last_name"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"json"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralString","value":"lastName"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"data"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'{ \"name\": \"Frodo\", \"lastName\": \"Baggins\", \"age\": 25 }'"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"json"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"decode"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"data"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Failed to decode json, error: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"err"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"last_name"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"age"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// You can also decode JSON arrays:\n"}, {"type":"NameVariable","value":"sfoos"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'[{\"x\":123},{\"x\":456}]'"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"foos"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"json"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"decode"}, {"type":"Punctuation","value":"([]"}, {"type":"NameClass","value":"Foo"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sfoos"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"foos"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":"]."}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"foos"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"]."}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"score"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"i64"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"data"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"map"}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":"]"}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"user"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Pierre'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"score"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1024"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"data"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'x'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"42"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"data"}, {"type":"Punctuation","value":"["}, {"type":"LiteralStringSingle","value":"'y'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"360"}, {"type":"Text","value":"\n\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"json"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"encode"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"data"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// {\"x\":42,\"y\":360}\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"json"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"encode"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"user"}, {"type":"Punctuation","value":"))"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// {\"name\":\"Pierre\",\"score\":1024}\n"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"test_hello"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"hello"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Hello world'"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"strconv"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"test_atoi"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"strconv"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atoi"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'1'"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"strconv"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atoi"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'one'"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// test will fail\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"test_subtest"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"res"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"execute"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"quoted_path"}, {"type":"Punctuation","value":"("}, {"type":"NameVariableMagic","value":"@VEXE"}, {"type":"Punctuation","value":")}"}, {"type":"LiteralStringSingle","value":" other_test.v'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"res"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"exit_code"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"res"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"output"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"contains"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'other_test.v does not exist'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"execute"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"quoted_path"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringDouble","value":"\"{test}. "}, {"type":"LiteralStringEscape","value":"\\$"}, {"type":"LiteralStringDouble","value":"{another test}. \\{and another\\}\""}, {"type":"Punctuation","value":")}"}, {"type":"LiteralStringSingle","value":" other_test.v'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"RefStruct"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"MyStruct"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"heap"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"MyStruct"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"MyStruct"}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"RefStruct"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"m"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"g"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'r: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"r"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"RefStruct"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"g"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"MyStruct"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"n"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"7"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"f"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"s"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// reference to `s` inside `r` is passed back to `main() `\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"RefStruct"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"f"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"MyStruct"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"r"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"r"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"s"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// would trigger error without `[heap]`\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sqlite"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// sets a custom table name. Default is struct name (case-sensitive)\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"table"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"'"}, {"type":"LiteralStringSingle","value":"customers'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Customer"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"id"}, {"type":"Text","value":"\t\t "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\t "}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"primary"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":" "}, {"type":"NameAttribute","value":"sql"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralString","value":"serial"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// a field named `id` of integer type must be the first field\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":"\t "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"nonull"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"nr_orders"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"country"}, {"type":"Text","value":"\t "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"nonull"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"db"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sqlite"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"connect"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'customers.db'"}, {"type":"Punctuation","value":")"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"sql"}, {"type":"Text","value":" "}, {"type":"Name","value":"db"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n\t"}, {"type":"Keyword","value":"create"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"table"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"Customer"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// select count(*) from customers\n"}, {"type":"NameVariable","value":"nr_customers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"sql"}, {"type":"Text","value":" "}, {"type":"Name","value":"db"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n\t"}, {"type":"Keyword","value":"select"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"count"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"from"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"Customer"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'number of all customers: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"nr_customers"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// V syntax can be used to build queries\n"}, {"type":"NameVariable","value":"uk_customers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"sql"}, {"type":"Text","value":" "}, {"type":"Name","value":"db"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n\t"}, {"type":"Keyword","value":"select"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"from"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"Customer"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"where"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"country"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"=="}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringSingle","value":"'uk'"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"nr_orders"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"\u003e"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"uk_customers"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"len"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"customer"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"uk_customers"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"customer"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"id"}, {"type":"LiteralStringSingle","value":" - "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"customer"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// by adding `limit 1` we tell V that there will be only one object\n"}, {"type":"NameVariable","value":"customer"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"sql"}, {"type":"Text","value":" "}, {"type":"Name","value":"db"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n\t"}, {"type":"Keyword","value":"select"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"from"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"Customer"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"where"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"id"}, {"type":"TextWhitespace","value":" "}, {"type":"Operator","value":"=="}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"limit"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"customer"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"id"}, {"type":"LiteralStringSingle","value":" - "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"customer"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// insert a new customer\n"}, {"type":"NameVariable","value":"new_customer"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Customer"}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Bob'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"nr_orders"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"sql"}, {"type":"Text","value":" "}, {"type":"Name","value":"db"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"TextWhitespace","value":"\n\t"}, {"type":"Keyword","value":"insert"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"new_customer"}, {"type":"TextWhitespace","value":" "}, {"type":"Keyword","value":"into"}, {"type":"TextWhitespace","value":" "}, {"type":"Name","value":"Customer"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"LiteralStringDoc","value":"// "}, {"type":"GenericEmph","value":"clearall"}, {"type":"LiteralStringDoc","value":" clears all bits in the array\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"clearall"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"LiteralStringDoc","value":"// "}, {"type":"GenericEmph","value":"copy_all"}, {"type":"LiteralStringDoc","value":" recursively copies all elements of the array by their value,\n// "}, {"type":"GenericHeading","value":"# Some Heading"}, {"type":"Text","value":"\n"}, {"type":"LiteralStringDoc","value":"// if `dupes` is false all duplicate values are eliminated in the process.\n"}, {"type":"LiteralStringDelimiter","value":"// ----------------------------------------\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"copy_all"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"dupes"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"sw"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"time"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"new_stopwatch"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Hello world'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Greeting the world took: "}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"sw"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"elapsed"}, {"type":"Punctuation","value":"()."}, {"type":"NameFunction","value":"nanoseconds"}, {"type":"Punctuation","value":"()}"}, {"type":"LiteralStringSingle","value":"ns'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// allocate 2 uninitialized bytes \u0026 return a reference to them\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"p"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"malloc"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"p"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`h`"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// Error: pointer indexing is only allowed in `unsafe` blocks\n"}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"p"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`h`"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// OK\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"p"}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`i`"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"p"}, {"type":"Operator","value":"++"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// Error: pointer arithmetic is only allowed in `unsafe` blocks\n"}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"p"}, {"type":"Operator","value":"++"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// OK\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Operator","value":"*"}, {"type":"NameVariable","value":"p"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralStringChar","value":"`i`"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Foo"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"sizeof"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"Foo"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"8"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"__offsetof"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"Foo"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"__offsetof"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"Foo"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Text","value":"\n\n"}, {"type":"CommentPreproc","value":"#flag -lsqlite3"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#include"}, {"type":"Text","value":" "}, {"type":"CommentPreprocFile","value":"\"sqlite3.h\""}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// See also the example from https://www.sqlite.org/quickstart.html\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3_stmt"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"type"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"FnSqlite3Callback"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"KeywordType","value":"voidptr"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_open"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_close"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_column_int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"stmt"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3_stmt"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"n"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// ... you can also just define the type of parameter and leave out the C. prefix\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_prepare_v2"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3_stmt"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_step"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3_stmt"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_finalize"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3_stmt"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_exec"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"db"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"sqlite3"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sql"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cb"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"FnSqlite3Callback"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cb_arg"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"voidptr"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"emsg"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_free"}, {"type":"Punctuation","value":"("}, {"type":"KeywordType","value":"voidptr"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"my_callback"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"arg"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"voidptr"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"howmany"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cvalues"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cnames"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"NameVariable","value":"char"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Operator","value":".."}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"howmany"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameBuiltin","value":"print"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'| "}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"cstring_to_vstring"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"cnames"}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":"])}"}, {"type":"LiteralStringSingle","value":": "}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameBuiltin","value":"cstring_to_vstring"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"cvalues"}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"i"}, {"type":"Punctuation","value":"]):"}, {"type":"LiteralNumber","value":"20"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":" '"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'|'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"db"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// this means `sqlite3* db = 0`\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// passing a string literal to a C function call results in a C string, not a V string\n"}, {"type":"Text","value":"\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_open"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringAffix","value":"c"}, {"type":"LiteralStringSingle","value":"'users.db'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// C.sqlite3_open(db_path.str, \u0026db)\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"query"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'select count(*) from users'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"stmt"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_stmt"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// NB: you can also use the `.str` field of a V string,\n"}, {"type":"Text","value":"\t"}, {"type":"CommentSingle","value":"// to get its C style zero terminated representation\n"}, {"type":"Text","value":"\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_prepare_v2"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameFunction","value":"char"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"query"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"str"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"stmt"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_step"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"stmt"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"nr_users"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_column_int"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"stmt"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_finalize"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"stmt"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'There are "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"nr_users"}, {"type":"LiteralStringSingle","value":" users in the database.'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"//\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"error_msg"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameFunction","value":"char"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"query_all_users"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'select * from users'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"rc"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_exec"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameFunction","value":"char"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"query_all_users"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"str"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"my_callback"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"voidptr"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"7"}, {"type":"Punctuation","value":"),"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"error_msg"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"rc"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameClass","value":"SQLITE_OK"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"cstring_to_vstring"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"error_msg"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"})"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_free"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"error_msg"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"sqlite3_close"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"db"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"export"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"'"}, {"type":"LiteralStringSingle","value":"my_custom_c_name'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"foo"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"windows"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentPreproc","value":"#include"}, {"type":"Text","value":" "}, {"type":"CommentPreprocFile","value":"\"@VEXEROOT/thirdparty/stdatomic/win/atomic.h\""}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentPreproc","value":"#include"}, {"type":"Text","value":" "}, {"type":"CommentPreprocFile","value":"\"@VEXEROOT/thirdparty/stdatomic/nix/atomic.h\""}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// declare functions we want to use - V does not parse the C header\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_store_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_load_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_compare_exchange_weak_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_compare_exchange_strong_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"bool"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"const"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num_iterations"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"10000000"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// see section \"Global Variables\" below\n"}, {"type":"KeywordDeclaration","value":"__global"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"atom"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"u32"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// ordinary variable but used as atomic\n"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"change"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"races_won_by_change"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cmp"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"u32"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"17"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// addressable value to compare with and to store the found value\n"}, {"type":"Text","value":"\t\t"}, {"type":"CommentSingle","value":"// atomic version of `if atom == 17 { atom = 23 races_won_by_change++ } else { cmp = atom }`\n"}, {"type":"Text","value":"\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_compare_exchange_strong_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"atom"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"cmp"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"23"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameVariable","value":"races_won_by_change"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cmp"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"31"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t\t"}, {"type":"Keyword","value":"break"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameVariable","value":"cmp"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"17"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// re-assign because overwritten with value of atom\n"}, {"type":"Text","value":"\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"races_won_by_change"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_store_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"atom"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"17"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"t"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"go"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"change"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"races_won_by_main"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cmp17"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"u32"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"17"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"cmp23"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"u32"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"23"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":" "}, {"type":"Operator","value":".."}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num_iterations"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// atomic version of `if atom == 17 { atom = 23 races_won_by_main++ }`\n"}, {"type":"Text","value":"\t\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_compare_exchange_strong_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"atom"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"cmp17"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"23"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameVariable","value":"races_won_by_main"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameVariable","value":"cmp17"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"17"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameVariable","value":"desir"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"i"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"num_iterations"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"u32"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"31"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"u32"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"17"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t\t"}, {"type":"CommentSingle","value":"// atomic version of `for atom != 23 {} atom = desir`\n"}, {"type":"Text","value":"\t\t"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!"}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_compare_exchange_weak_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"atom"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"cmp23"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"desir"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameVariable","value":"cmp23"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"23"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"races_won_by_change"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"t"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"wait"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"atom_new"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"C"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"atomic_load_u32"}, {"type":"Punctuation","value":"("}, {"type":"Operator","value":"\u0026"}, {"type":"NameVariable","value":"atom"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'atom: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"atom_new"}, {"type":"LiteralStringSingle","value":", #exchanges: "}, {"type":"Operator","value":"$"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"races_won_by_main"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"races_won_by_change"}, {"type":"Punctuation","value":"}"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// prints `atom: 31, #exchanges: 10000000`)\n"}, {"type":"Text","value":"\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'races won by"}, {"type":"LiteralStringEscape","value":"\\n"}, {"type":"LiteralStringSingle","value":"- `main()`: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"races_won_by_main"}, {"type":"LiteralStringEscape","value":"\\n"}, {"type":"LiteralStringSingle","value":"- `change()`: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"races_won_by_change"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"sync"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"__global"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"sem"}, {"type":"Text","value":"\t "}, {"type":"NameVariable","value":"sync"}, {"type":"Punctuation","value":"."}, {"type":"NameClass","value":"Semaphore"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// needs initialization in `init()`\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"mtx"}, {"type":"Text","value":"\t "}, {"type":"NameVariable","value":"sync"}, {"type":"Punctuation","value":"."}, {"type":"NameClass","value":"RwMutex"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// needs initialization in `init()`\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"f1"}, {"type":"Text","value":"\t "}, {"type":"Operator","value":"="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"f64"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberFloat","value":"34.0625"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// explicily initialized\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"shmap"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"shared"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"map"}, {"type":"Punctuation","value":"["}, {"type":"NameBuiltin","value":"string"}, {"type":"Punctuation","value":"]"}, {"type":"KeywordType","value":"f64"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// initialized as empty `shared` map\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"f2"}, {"type":"Text","value":"\t "}, {"type":"KeywordType","value":"f64"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// initialized to `0.0`\n"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"init"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"sem"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"init"}, {"type":"Punctuation","value":"("}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"mtx"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"init"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentPreproc","value":"#flag linux -lsdl2"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#flag linux -Ivig"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#flag linux -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS=1"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#flag linux -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#flag linux -DIMGUI_IMPL_API="}, {"type":"Text","value":"\n\n"}, {"type":"CommentPreproc","value":"#pkgconfig r_core"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#pkgconfig --cflags --libs r_core"}, {"type":"Text","value":"\n\n"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameBuiltin","value":"pkgconfig"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'mysqlclient'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentPreproc","value":"#pkgconfig mysqlclient"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameBuiltin","value":"pkgconfig"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'mariadb'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentPreproc","value":"#pkgconfig mariadb"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentPreproc","value":"#flag -I @VMODROOT/c"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#flag @VMODROOT/c/implementation.o"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#include"}, {"type":"Text","value":" "}, {"type":"CommentPreprocFile","value":"\"header.h\""}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// Support for multiple conditions in one branch\n"}, {"type":"Text","value":"\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"ios"}, {"type":"Text","value":" "}, {"type":"Operator","value":"||"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"android"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Running on a mobile device!'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"linux"}, {"type":"Text","value":" "}, {"type":"Operator","value":"\u0026\u0026"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"x64"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'64-bit Linux.'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// Usage as expression\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"os"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"windows"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Windows'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'UNIX'"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Using "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"os"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// $else-$if branches\n"}, {"type":"Text","value":"\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"tinyc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'tinyc'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"clang"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'clang'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"gcc"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'gcc'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"else"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'different compiler'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"test"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'testing'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// v -cg ...\n"}, {"type":"Text","value":"\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"debug"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'debugging'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// v -prod ...\n"}, {"type":"Text","value":"\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"prod"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'production build'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// v -d option ...\n"}, {"type":"Text","value":"\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"option"}, {"type":"Text","value":" "}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'custom option'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"embedded_file"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameBuiltin","value":"embed_file"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'v.png'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"zlib"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// compressed using zlib\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"os"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"write_file"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'exported.png'"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"embedded_file"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"to_string"}, {"type":"Punctuation","value":"())"}, {"type":"KeywordDeclaration","value":"?"}, {"type":"Text","value":"\n\n\t"}, {"type":"NameVariable","value":"compile_time_env"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameBuiltin","value":"env"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'ENV_VAR'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"compile_time_env"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"build"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"name"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'Peter'"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"age"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"25"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"numbers"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameBuiltin","value":"tmpl"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'1.txt'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"linux"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Operator","value":"$"}, {"type":"NameBuiltin","value":"compile_error"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'Linux is not supported'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'file: '"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"@FILE"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"' | line: '"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"@LINE"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"' | fn: '"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"@MOD"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'.'"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"@FN"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordNamespace","value":"import"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"v"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"vmod"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"vm"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"vmod"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"decode"}, {"type":"Punctuation","value":"("}, {"type":"Text","value":" "}, {"type":"NameVariableMagic","value":"@VMOD_FILE"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"or"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"panic"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"err"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"eprintln"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"vm"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"LiteralStringSingle","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"vm"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"version"}, {"type":"LiteralStringEscape","value":"\\n"}, {"type":"LiteralStringSingle","value":" "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"vm"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"description"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"for"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"field"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"in"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"User"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"fields"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Operator","value":"$"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"field"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"typ"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"is"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"field"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"name"}, {"type":"LiteralStringSingle","value":" is of type string'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"struct"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"int"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"str"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"string"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"LiteralStringSingle","value":"'{"}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"x"}, {"type":"LiteralStringSingle","value":", "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"y"}, {"type":"LiteralStringSingle","value":"}'"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"y"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"return"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":"{"}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"x"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"y"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"3"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"4"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"5"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"Vec"}, {"type":"Punctuation","value":"{"}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"{6, 8}\"\n"}, {"type":"Text","value":"\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"{-2, -2}\"\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":"+="}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":"\n\t"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// \"{3, 5}\"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"100"}, {"type":"Text","value":"\n"}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"20"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"asm"}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"amd64"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"mov"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"eax"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"a"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"add"}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"eax"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"mov"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"c"}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"eax"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"; =r (c) as c // output"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"; r (a) as a // input"}, {"type":"Text","value":"\n\t "}, {"type":"NameFunction","value":"r"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"b"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"as"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"b"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'a: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"a"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 100\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'b: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"b"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 20\n"}, {"type":"NameBuiltin","value":"println"}, {"type":"Punctuation","value":"("}, {"type":"LiteralStringSingle","value":"'c: "}, {"type":"Operator","value":"$"}, {"type":"NameVariable","value":"c"}, {"type":"LiteralStringSingle","value":"'"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// 120\n"}, {"type":"Text","value":"\n"}, {"type":"CommentSingle","value":"// [flag] enables Enum types to be used as bitfields\n"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"flag"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"enum"}, {"type":"Text","value":" "}, {"type":"NameClass","value":"BitField"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"write"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"other"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"main"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"BitField"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"read"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"NameBuiltin","value":"int"}, {"type":"Punctuation","value":"("}, {"type":"NameClass","value":"BitField"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"write"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"KeywordDeclaration","value":"mut"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bf"}, {"type":"Text","value":" "}, {"type":"Operator","value":":="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"BitField"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"has"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// test if *at least one* of the flags is set\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!"}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"all"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// test if *all* of the flags is set\n"}, {"type":"Text","value":"\t"}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"set"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"write"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"has"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"write"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"all"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"write"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"toggle"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bf"}, {"type":"Text","value":" "}, {"type":"Operator","value":"=="}, {"type":"Text","value":" "}, {"type":"NameClass","value":"BitField"}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"write"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameBuiltin","value":"all"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"read"}, {"type":"Text","value":" "}, {"type":"Operator","value":"|"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"."}, {"type":"NameVariable","value":"write"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n\t"}, {"type":"Keyword","value":"assert"}, {"type":"Text","value":" "}, {"type":"Operator","value":"!"}, {"type":"NameVariable","value":"bf"}, {"type":"Punctuation","value":"."}, {"type":"NameFunction","value":"has"}, {"type":"Punctuation","value":"(."}, {"type":"NameVariable","value":"other"}, {"type":"Punctuation","value":")"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// Calling this function will result in a deprecation warning\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"deprecated"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"old_function"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// It can also display a custom deprecation message\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"deprecated"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"'"}, {"type":"LiteralStringSingle","value":"use new_function() instead'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"deprecated_after"}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"'"}, {"type":"LiteralStringSingle","value":"2021-05-27'"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"legacy_function"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// This function's calls will be inlined.\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"inline"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"inlined_function"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"CommentSingle","value":"// This function's calls will NOT be inlined.\n"}, {"type":"Punctuation","value":"["}, {"type":"NameAttribute","value":"noinline"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"function"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Punctuation","value":"["}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameAttribute","value":"debug"}, {"type":"Punctuation","value":"]"}, {"type":"Text","value":"\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"foo"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"KeywordDeclaration","value":"fn"}, {"type":"Text","value":" "}, {"type":"NameFunction","value":"bar"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"NameFunction","value":"foo"}, {"type":"Punctuation","value":"()"}, {"type":"Text","value":" "}, {"type":"CommentSingle","value":"// will not be called if `-d debug` is not passed\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"x"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"Text","value":"\t"}, {"type":"Keyword","value":"if"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"y"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t"}, {"type":"Keyword","value":"unsafe"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n\t\t\t"}, {"type":"Keyword","value":"goto"}, {"type":"Text","value":" "}, {"type":"NameLabel","value":"my_label"}, {"type":"Text","value":"\n\t\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\t"}, {"type":"CommentSingle","value":"// ...\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"NameLabel","value":"my_label"}, {"type":"Punctuation","value":":"} ]