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
+
|