I find myself in the delightfully strange position of unambiguously agreeing with Paul Gilmartin.
Must be spring fever or something... :-) Cheers,,,Steve Steven F. Conway, CISSP LA Systems z/OS Systems Support Phone: 703.295.1926 [email protected] From: Paul Gilmartin <[email protected]> To: [email protected] Date: 03/19/2012 06:58 PM Subject: Re: Theology question Sent by: IBM Mainframe Discussion List <[email protected]> On Mon, 19 Mar 2012 17:43:45 -0400, Gord Tomlin wrote: >IMHO using '*' to represent null violates the Principle of Least >Astonishment. '*' is often used in masking to represent "anything", >which is a long way from null. > >How about using NULL to represent null, e.g., > >thing3(option1,NULL) /* This would define another thing and say "even >if you have a default, global value for option2, pretend you don't" */ > I am very accustomed to, and comfortable with the convention common to Rexx and POSIX shell script, both of which distinguish between undefined and any defined value: empty string, "NULL", or whatever. So, I'd add the rule: thing3(option1,NULL) /* Means option2 is unset. */ thing3(option1,'NULL') /* means option2 is the 4-character string, "NULL".) ... (reserved words are never quoted; values are quoted to avoid conflict with reserved words or when lexically required, to avoid any encroachment on the potential value space.) -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN

