Frank Heckenbach wrote:
CBFalconer wrote:
Frank Heckenbach wrote:
in the course of cleaning up GPC, I plan to drop the following obsolete "features".
`--standard-pascal[-level-1]' (and the corresponding compiler directives). GPC has `--classic-pascal[-level-1]' now to distinguish it better from Extended Pascal (which also is a standard).
The syntax `type foo = procedure (Integer, Real)' (i.e., without parameter names).
If you have any objections against removing them, please respond soon.
I strongly disagree. The very words "standard Pascal" intrinsically reference ISO 7185, and "Extended Pascal" correlates directly with the verbiage in ISO 10206. Without these directives/flags the user is left groping about in the documentation to find the appropriate magic incantations for proper validation.
I personally compile everything against ISO 7185, barring good reason to use further extensions. I doubt that I am representative of the average user. However, the standards exist (praise Allah) so let's make it as easy as possible to use them.
I don't think typing `--standard-pascal' is any easier to use than `--classic-pascal' (in fact, it's even one letter more to type ;-). I'm also not sure whether someone new to GPC would guess `--standard-pascal' without looking in the manual (e.g., Invoking GPC -> GPC Options where the most common options are listed, including `--classic-pascal').
Just in case you misunderstood me here: I'm not going to remove the ISO 7185 support. I just want to remove one of the two equivalent switches to activate it.
You might remember last year's discussion in which Joe da Silva said, "This way, we are no longer (strongly) inferring that ISO-7185 is the only standard.", and I think I agree to that.
I don't misunderstand. However the only ISO standards that exist are 7185 and 10206. The latter labels itself as being "Extended Pascal". The cost of maintaining the present directives is basically the storage of two strings in the final code, and about the same in the sources. Removing them invalidates who knows how many existing scripts and makefiles.
The "GNU standard" does not exist as a published and criticized document in the sense that the ISO standards do, and really has no more international standing than does Microsofts VBasic.
If anything I would recommend retaining the present directives and adding "ISO7185-0", "ISO7185-1" and "ISO10206". However I don't expect that to happen. So this is purely my vote against deleting the present directives.
My problem is not with the length of the directives, etc. but solely with the "obviousness" of them. I readily concede that the functionality will remain, either way.
I understand that gcc 3.3 will integrate the gnat compiler (for Ada). It would be pleasant if the gpc integration could follow, although I recognize that this involves a lot of work. I think that that and implementation of range-checking should be priorities.
Source that is valid under 7185-0 should be valid everywhere (in the best of all possible worlds, Dr. Pangloss). I want to encourage such as far as possible. Use of any extensions beyond that causes portability problems somewhere or other.
The message from Dr. Thomas Schneider mailto:toms@ncifcrf.gov is indicative of the problems that deletion would cause. He obviously does not have an info installation, or it is obsolete, or he is unaware of it. He may be using scripts set up by personnel who have long since moved on. Hidebound people such as myself view with horror any changes to installed software, especially any lack of backward compatibility.
I have no opinion on your "type foo = ..." proposal. That may well significantly simplify code, and does not affect any standards compliance, although its presence affects error detection.