//single line comment /* multi line comment */ //test primitive literals print "hello world"; print null; print true; print false; print 42; print 3.14; print -69; print -4.20; print 2 + (3 * 3); //test operators (integers) print 1 + 1; print 1 - 1; print 2 * 2; print 1 / 2; print 4 % 2; //test operators (floats) print 1.0 + 1.0; print 1.0 - 1.0; print 2.0 * 2.0; print 1.0 / 2.0; //test scopes { print "This statement is within a scope."; { print "This is a deeper scope."; } } print "Back to the outer scope."; //test scope will delegate to higher scope var a = 1; { a = 2; print a; } print a; //test scope will shadow higher scope on redefine var b = 3; { var b = 4; print b; } print b; //test compounds, repeatedly print [1, 2, 3]; print [4, 5]; print ["key":"value"]; print [1, 2, 3]; print [4, 5]; print ["key":"value"]; //test empties print []; print [:]; //test nested compounds print [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; //var declarations var x = 31; var y : int = 42; var arr : [int] = [1, 2, 3, 42]; var dict : [string, int] = ["hello": 1, "world":2]; //printing expressions print x; print x + y; print arr; print dict; //test asserts at the end of the file assert x, "This won't be seen"; assert true, "This won't be seen"; assert false, "This is a failed assert, and will end execution"; print "This will not be printed because of the above assert";