home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!decwrl!contessa!mwm
- From: mwm@contessa.palo-alto.ca.us (Mike Meyer)
- Subject: Re: Blanks, REXX, and portability...
- Newsgroups: comp.lang.rexx
- Distribution: world
- References: <REXXLIST%92082621432914@DEARN>
- X-NewsSoftware: Amiga Yarn 3.4, 1992/08/12 15:49:52
- Keywords:
- Summary:
- Message-ID: <mwm.1p79@contessa.palo-alto.ca.us>
- Date: 29 Aug 92 23:07:05 PST
- Organization: Missionaria Phonibalonica
- Lines: 49
-
- A question for all of you using EBCDIC who don't think that arbitrary
- whitespace should be allowed to seperate words: Why do you care?
-
- The only argument I've seen is that allowing input data with tabs
- makes programs less portable. This is false. It makes programs more
- portable; it makes _data_ less portable.
-
- If you think that tabs are evil, you may be right. It doesn't matter.
- TAB is an ASCII character that it is perceived of as a long blank, and
- people use it as such on a regular basis. Wishing and language
- definitions won't make the problem go away; they'll just fail to
- generate horses and create headaches for people who want to use the
- language.
-
- A similar problem shows up in the ANSI C standard. It has this idiotic
- restriction that external identifiers must be unique in the first six
- characters, case insensitive. I don't know of _anybody_ who liked
- this, but there was a very popular system which had a standard linker
- with that antiquated restriction. Removing this brain-dead restriction
- meant that you couldn't write an ANSI C compiler for that system,
- which was considered a bad thing - so the restriction stayed in.
-
- While requiring that only space can be treated as a blank character
- won't prevent people from implemeting "standard Rexx" on any
- particular machine, it will make Rexx hard to use, and cause people to
- look to other tools.
-
- In <REXXLIST%92082621432914@DEARN>, Otto Stolz <RZOTTO@DKNKURZ1.BITNET> wrote:
- > 5. that standard-conforming implementations be required to implement
- > the recognition of white space in a way conforming
- > - to all possible sources for REXX source programs,
- > - to all possible sources for input to REXX programs
- > (cf. note 1);
-
- I like that - that means you have to consider every computer system in
- the world as a possible source, including all possible character set
- mappings in getting the data from there to here. Not to mention all
- tapes/decks/etc. that still exists, even if there are no functioning
- computers of the type that created them.
-
- > In a nutshell: REXX language features should be as permissive as
- > possible when accepting white space, and as predictable
- > as possible when generating it.
-
- "Accept permissively and generate strictly" is a good general
- guideline whenever portability or interoperability becomes a
- consideration.
-
- <mike
-