|
I'd vote for number 2. If I'm dumb enough to create a user BIF with a name which conflicts with a future IBM supplied BIF, then I SHOULD get a compile error. While you're at it, if you allow EVAL and CALLP to be omitted, why not allow the "CF" to be omitted also? That would be AWESOME!!!!
Dave
1) Make EVAL and CALLP always required:
CF eval KeepLooping = *ON
CF dow KeepLooping
CF read MasterFile
CF if %eof
CF callp HandleEndOfFile()
CF endif
CF enddo
2) Allow EVAL and CALLP to be omitted:
CF KeepLooping = *ON
CF dow KeepLooping
CF read MasterFile
CF if %eof
CF HandleEndOfFile()
CF endif
CF enddo
3) Option 2 with a commitment from us that no new opcodes will
conflict with any possible variable or procedure name. For
example, opcode ON-ERROR could never be confused with a var or
proc name. This may mean some goofy looking opcodes in the
future. On the other hand, since most enhancements these days
seem to be in BIF's, this may not be too big a deal.
4) Optional EVAL and CALLP, but use some special character to
distinguish opcode names from var or proc names:
CF KeepLooping = *ON
CF /dow KeepLooping
CF /read MasterFile
CF /if %eof
CF HandleEndOfFile()
CF /endif
CF /enddo
If you don't like "/", what about some other character?
5) Is there some other alternative we've missed?
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.