Looking at the output of the compiled Mail application, I noticed the following property of function declarations:
function dM(d,b){var a,c;if(b<0){throw AZ(new zZ(),ij+b)}c=d.a.rows.length;for(a=c;a<=b;++a){pN(d,a)}} function eM(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement(gi);e.appendChild(a)}} function pM(a){while(++a.a<a.c.b){if(q4(a.c,a.a)!=null){return}}} function qZ(){return this.$H||(this.$H=++mp)} function oU(d,a,c,b){if(!b||b==c){return}oU(d,a,c,mq((Ep(),b)));ey(a.a,a.b++,b)} function rU(i,a,e,h) note that the function params are assigned single character symbols, but they are not consistently assigned and in the same order. If instead, the first arguments of any function were a, b, c, ... appear in order (they could be any reserved sequence), then characters sequences like (a){ (a,b){ (a,b,c){ (a,b,c,d){ would appear frequently and yield more backreferences in the LZ77 portion of the DEFLATE algorithm, plus, they would occur far more frequently, giving a smaller bit representation in the huffman tables. This might lead to significant savings when gzipping. -Ray --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---