# This is written for Nasal Intepreter # Sidi Liang var w = 1; var x = "hello"; var f = func() { println("f is called"); } var f2 = func() { return 2; } var f3 = func() { return "numb"; } var y = [w, x]; var y1 = [w, x, y, f]; var z = { numb:w, stri:x, listt:y1, funcc: f, funcccall: func f(), }; var z1 = { numb:w, stri:x, listt:y, hashh:z }; var y2 = [w, x, y, z1]; var z2 = { hashh: z1, listt2: y2, }; println(w); #//1 println(x); #//hello println(y); #//[1,hello] println(z); #//{...} println(z1); #//{...} println(y2); #//[...] println(y[0]); #//1 println(y1[2][1]); #//hello println(z.numb); #//1 println(z.listt[2][1]); #//hello println(z1.hashh.listt[2][1]); #//hello println(y2[3].hashh.listt[2][1]);#//hello println(f); #//func(..) {..} f(); #//f is called println(z.funcc); #//func(..) {..} z.funcc(); #//f is called println(z.funcccall); #//func(..) {..} z2.listt2[3].hashh.funcc(); #//f is called println(y1[f2()][w]); #//hello println(true,' ',false); #//1 0 # ValKmjolnir func() { var tm=maketimestamp(); var duration=0; var f1 = func() {} var f2 = func() {var a=1;return a+1;} var f3 = func() {var (a,b)=(1,1);return a+b+1;} tm.stamp(); for(var i=0;i<1e6;i+=1); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); tm.stamp(); for(var i=0;i<1e6;i+=1)f1(); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); tm.stamp(); for(var i=0;i<1e6;i+=1)func {}(); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); tm.stamp(); for(var i=0;i<1e6;i+=1)f2(); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); tm.stamp(); for(var i=0;i<1e6;i+=1) func { var a=1; return a+1; }(); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); tm.stamp(); for(var i=0;i<1e6;i+=1)f3(); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); tm.stamp(); for(var i=0;i<1e6;i+=1) func { var (a,b)=(1,1); return a+b+1; }(); duration=tm.elapsedMSec(); println(str(int(1e6/duration))," calc/ms"); }();