var var_sort = func() { srand(); # be aware! this causes global changes var quick_sort_core = func(vec,left,right) { if (left>=right) return nil; var base=left+int(rand()*(right-left)); (vec[left],vec[base])=(vec[base],vec[left]); var (i,j,tmp)=(left,right,vec[left]); while (i