From: Peep P. <so...@us...> - 2004-03-20 19:24:01
|
Update of /cvsroot/agd/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9338 Modified Files: Ideas Log Message: Added some new ideas. Index: Ideas =================================================================== RCS file: /cvsroot/agd/server/Ideas,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Ideas 18 Mar 2004 20:51:16 -0000 1.3 +++ Ideas 20 Mar 2004 19:13:57 -0000 1.4 @@ -2,10 +2,59 @@ lpc: * if(x == 1 || == 2 && != 3) * Argument type grouping - int foo(int i, j, k, string s1, s2, s3, object ob1, ob2); + int foo(int i, j, k, string s1, s2, s3, object ob1, ob2); * k integer constants: 100k equals to 100000 1k equals to 1000 etc. * the same for K, M (suggested by elver) K (or maybe Kb / KB) = 1024 M = 1024 * 1024 + * unlimited <statement> + For example: + unlimited { + int i; + while(+i < 100k); + } + This would go over normal eval_cost. + Unlimited allow for longer execution, and stopping + only when going after hard eval_cost. hard eval_cost + should be like 10 times bigger than soft eval_cost. + This statement should be privileged to system + objects (maybe a master::valid_unlimited() apply) + + * variable arguments: + Three ways: + * varargs foo(int i, int j); + Valid calls: + foo(1, 2); + foo(1); + foo(); + Invalid calls: + foo(1, 2, 3); + foo(1, ); + * foo(int i, int j, ...) + Valid calls: + foo(1, 2, 3, 4, 5); + foo(1, 2); + Invalid calls: + foo(1); + foo(1, , 2, 3); + Arguments can be gotten with + mixed va_arg(); + * with default values + foo(int i, int j = 2); + Valid calls: + foo(1); + foo(1, 2); + Invalid calls: + foo(1, 2, 3); + foo(); + But only in the end of the arguments. + * can be used together: + varargs(int i, ...); + But not: + varargs(int i, int j = 2, ...); +dfuns: + * throw(string) + will runtime with string + |