I would suggest a syntax of the form:

  var[:type][=>defaultvalue]

This provides all the benefits mentioned in the original posting 
(http://sourceforge.net/mailarchive/message.php?msg_id=6974026) as well as preventing 
any confusion with procedure calls of expressions using '=' or ':=', e.g.:

  Is 'p(i = 3)' a call assigning '3' to the procedure parameter 'i' or a desire to 
have the call fail if the non-parameter variable 'i' is not equal to '3'?

or

  Is 'p(i := 3)' a call assigning '3' to the parameter 'i' or a desire to assign 3 the 
non-parameter variable 'i' and then pass it to the procedure parameter 'i'?

Additionally, this would allow future consideration of allowing parameter keyword call 
syntax without causing any problems (especially those listed above).  For example:

  procedure p(i : integer => 0, t : table => table(), s => "Hello, world!")

could be called with:

  p(i => (3 = i))

where the '=>' disambiguates the first 'i', referring to the parameter, and the second 
'i', referring to a variable in the surrounding context of 'p'.  The call would, of 
course, fail if (the contectual) 'i' were not '3'.

Michael Borek
"Death before Dishonour; Beer before Lunch"


__________________________________________________________________
New! Unlimited Netscape Internet Service.
Only $9.95 a month -- Sign up today at http://isp.netscape.com/register
Act now to get a personalized email address!

Netscape. Just the Net You Need.


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Unicon-group mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to