> On 10/2/06, Dani?l Mantione <[EMAIL PROTECTED]> wrote: > > > > Syntactically you cannot. However, the array of const is just as powerfull > > (actually more powerfull, since you can pass multiple arrays). We consider > > adding a trick to make it syntactically behave like writeln unnecessary. > > But in vtype I can't know if I got array or not, and I can't know if > that's a record. :(
You can't in C either. C varargs everything is "if string and arguments match it won't crash". > > > to make it possible to add such feature to FPC ? > > > > Show the problem with array if const first :) > > Lets start from the pity ones to the real problems :) > > 1. It's not a va_args. So? Other language, other syntax. We don't use {} either. > 2. The usage of []. Same. Penalty for being safe. It is also required being able to mix non array of const and normal parameters. > 3. Even empty parameter must have [] instead of not calling it. It's > like C that must have empty () when calling a function ... C has no checking what so ever, we want to do better. > 4. I can't add default values to that type of parameter. Can you in C? > 5. Feel like an hack. Where do you get that feeling? > 6. Try to explain that to a C developer... it easier to bash your head > against the wall Then don't do it. Let the C runtime solve his interface problem for him, and only provide (2) calls. > 7. Require delphi/objfpc modes. So? It is higher level functionality. > 8. Have a record inside that tells you the type of the parameter (that > is also a pro as much as it con) Only on the inside. Your application programmer won't notice this. > 9. I feel like it limiting the type of usage I can do with it because it > support only "basic" types of parameters (according to the example in the > documentation: > http://www.freepascal.org/docs-html/ref/refsu47.html#x113-12000010.3.6). You can pass any class, and, after verifying it is a class, further discriminate using object.classtype and/or is/as operators > 10. I feel that there is not enough documentation about it. Look for "Essential Pascal". > There might be probably more reasons why not to use open arrays, but I > can't think on more at the moment. Basically all are "it is not both C and Java". Well, it isn't. It is FPC/Delphi. Even if you want to make a comparison, make one, and then also list the disadvantages of the solution (like the horrible security model of C, or the runtime overhead of Java) _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel