My question to all this is, If you have a parameter, in this case option2, even the absence of it is a default of some sort. Think about it, if option2 is 1, 2, 3 or nothing, then nothing implies you are doing something different than 1, 2 or 3, so it is doing something. So there is ALWAYS some default. It may not be set as a global option, so now it is a programmatic option.
Or am I just thick and not seeing something? Chris Blaicher Senior Software Engineer, Software Services Syncsort Incorporated 50 Tice Boulevard, Woodcliff Lake, NJ 07677 P: 201-930-8260 | M: 512-627-3803 E: [email protected] www.syncsort.com Check out our Knowledge Base at www.syncsort.com/support Syncsort aims for the best product and service experience. We welcome your feedback. -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Steve Conway Sent: Tuesday, March 20, 2012 7:50 AM To: MVS List Server 1 Subject: Re: Theology question 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 ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN

