@@ -1,16 +1,15 @@ @@type = fun(x){ - if( _isint(x) ) { "int" } - else { if( _isstr(x) ) { "str" } - else { if( _isundefined(x) ) { "undefined" } - else { "any" }}} + if _isint(x): "int" + else if _isstr(x): "str" + else if _isundefined(x): "undefined" + else: "any" }; def binop(a,b,c) { fun(x,y){@value( - if( @type(x)=="undefined" || @type(y)=="undefined" ) { "undefined" } else { - if( @type(x)==a && @type(y)==b ) { c } else { "error" } - } + if( @type(x)=="undefined" || @type(y)=="undefined" ) then "undefined" else + if( @type(x)==a && @type(y)==b ) then c else "error" )} }; @type "+" = binop("int", "int", "int"); @@ -18,10 +17,10 @@ @type "<" = binop("int", "int", "int"); @type ">" = binop("int", "int", "int"); def mergeType(a,b) { - if( a == "undefined" ) { if(b=="undefined"){"error"}else{b} } else { a } + if( a == "undefined" ): ( if(b=="undefined"):"error" else b ) else ( a ) }; @type "if" = fun(c,t,e) {@value( - if(@type(c)=="int" ) { mergeType(@type(t()), @type(e())) } else { "error" } + if(@type(c)=="int" ): mergeType(@type(t()), @type(e())) else : "error" )};