import to_import: simple_print, simple_println, a, b, string_id /* fun something(param: int): Something { var to_ret.construct_with_param(param): Something return to_ret } obj Something (ObjectTrait) { var member: int fun construct(): *Something { simple_println("Constructing a Something") member = 1337 return this } fun construct_with_param(param: int): *Something { simple_println("Constructing a Something with a param") member = param return this } fun copy_construct(old: *Something) { simple_println("Copy Constructing a Something") member = old->member } fun destruct() { simple_print("Destructing a Something: ") simple_println(member) } fun method(a: int):int { return 5+a+member + other_method() } fun other_method(): int return 7; fun return_this(): *Something { return this; } } fun return_something_p_1(it: Something): Something { it.member += 11 return it } */ fun id(in: T): T return in; /* fun some_function(): int return 0; fun some_other_function(in: bool): float { return 0.0 } */ fun main(): int { /*var a = id(7)*/ /*simple_println(a)*/ /*var b = id<*char>("Double down time")*/ /*simple_println(b)*/ simple_println(id<*char>("Double down time")) /*var test_methods = something(77)*/ /*var test_methods_param.construct_with_param(10090): Something*/ /*simple_println("Constructing an object and printint its member, copy-constructing it, and printing that out, then letting both be destructed")*/ /*simple_println(test_methods.member)*/ /*simple_println(test_methods_param.member)*/ /*var second_obj = test_methods*/ /*second_obj.member += 5*/ /*simple_println(second_obj.member)*/ /*[>var some = return_something_p_1(second_obj)<]*/ /*simple_println(return_something_p_1(second_obj).member)*/ return 0 /* var a_declaration:int simple_print(1 + 2) var again = 2 + 4 - 1 * 400 simple_print(again) again = 2 + (4 - 1) * 400 simple_print(again) var another_declaration: int = 8.0 simple_print(another_declaration) var yet_another_declaration = "Hello Marcus\n" simple_print(yet_another_declaration) simple_print("Hello World!\n") simple_print(1337) if (1 + 2 && false) simple_print("its true!") else simple_print("its false!") var counter = 10 counter-- --counter while (counter) simple_print(counter--) simple_print("\n") counter = 8 while (counter) { simple_print(--counter) if (counter == 2) break } simple_print("\n") for (var j = 0; j < 10; j++;) if (j%2) continue else simple_print(j) var an_obj: Something an_obj.member = 20 simple_print(an_obj.member) simple_print("here is thing") simple_print(123) simple_print("\n") simple_print(an_obj.method(1)) simple_print("\n") simple_print(string_id("WoooopsEee\n")) var with_ptr = an_obj.return_this() simple_print(with_ptr->method(2)) simple_print("\n") { defer simple_print("should_be_third\n") defer simple_print("should_be_second\n") simple_print("should be first\n") } for (var i = 1; i < 10; i++;) { defer simple_println("OUTER:happens every time, even when breaking or continueing") { defer simple_println("INNER:happens every time, even when breaking or continueing") if (i % 2 == 0) continue if (i == 9) break simple_println(i) } } defer simple_println("Here is a return defer outer") { defer simple_println("Here is a return defer inner") return 0 } */ }