Hmm, would we want: a = b + c; to possibly mean call function b and function c, get their return values, and assign the sum of those to a? If we allow the omission of parentheses in non void function calls, then the above, when there are available function definitions in scope, would have that meaning. Larry Wall would feel right at home :-) I, for one, would rather that we require the visual cue of an () after b and c to indicate a function is to be called. This is even more important, IMHO, given importation of packages and such that may define a number of functions though the definition is not conveniently visible to the casual reader. Michael McNamara mcnamara@cadence.com 408-914-6808 work 408-348-7025 cell ________________________________ From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of Bresticker, Shalom Sent: Monday, April 17, 2006 1:42 AM To: sv-bc@eda.org Subject: [sv-bc] 12.4.5 Optional argument list - question 12.4.5 says, "When a void function or class function method specifies no arguments, the empty parenthesis, (), following the subroutine name shall be optional. This is also true for tasks, void functions, and class methods that require arguments, when all arguments have defaults specified. It shall be illegal to omit the parenthesis in a directly recursive nonvoid function method call that is not hierarchically qualified." This is unclear about nonvoid functions. The first two sentences specify when parentheses (not 'parenthesis') may be omitted. Both apply to void functions only. This implies that nonvoid function calls may never omit the parentheses. The last sentence says that parentheses may not be omitted in a nonvoid function call in a corner case. This implies that they may be omitted in all other cases. What is correct? Thanks, Shalom Shalom Bresticker Intel Jerusalem LAD DA +972 2 589-6852 +972 54 721-1033 I don't represent IntelReceived on Mon Apr 17 08:31:58 2006
This archive was generated by hypermail 2.1.8 : Mon Apr 17 2006 - 08:32:06 PDT