Reply by Craig Bergren December 22, 20042004-12-22
On Wed, 22 Dec 2004 13:09:05 +0000, CBFalconer wrote:

> Craig Bergren wrote: >> > ... snip ... >> >> I think maybe you missed my point, as I missed yours. My point was that >> these variants of Pascal were all introduced before the standardizing >> efforts took place; before 1980 HP wasn't really interested in >> standardizing, even within their own product portfolio. > > My real point was to convince you to try to port your code to gpc, set to > accept ISO10206 Extended Pascal, (which has a published and accepted ISO > standard).
I went through that last week with the OP. He convinced me that HP64000 Pascal is too odd for his skills. My initial suggestion was for him to use p2c because it supports almost all the HP oddities that I was aware of. The HP64000 is one of the few HPs in the past two decades I haven't had the privilege to work on. CB
Reply by CBFalconer December 22, 20042004-12-22
Craig Bergren wrote:
>
... snip ...
> > I think maybe you missed my point, as I missed yours. My point > was that these variants of Pascal were all introduced before the > standardizing efforts took place; before 1980 HP wasn't really > interested in standardizing, even within their own product > portfolio.
My real point was to convince you to try to port your code to gpc, set to accept ISO10206 Extended Pascal, (which has a published and accepted ISO standard). -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!
Reply by Craig Bergren December 22, 20042004-12-22
On Tue, 21 Dec 2004 17:52:22 +0000, CBFalconer wrote:

> Craig Bergren wrote: >> On Tue, 21 Dec 2004 12:43:38 +0000, CBFalconer wrote: >> > ... snip ... >>> >>> Sounds as if most of it was to meet ISO10206. Bob Fraley, who >>> developed their first specification for the HP3000, was well into the >>> 'spirit of Pascal', and this was well before the first standard >>> appeared. Your 'Modula' reference may well actually be ISO10206 >>> features. ISO10206 is a proper superset of ISO7185, with the exception >>> of a few well documented reserved words. >>> >>> >> You are talking about a 1990 standard. I'm talking about compilers >> introduced to the market place in the 70s and 80s. Most of the >> unification work was done by 1987, the last year I worked on an HP1000. > > You may be surprised at how much and how early ISO10206 was drafted. The > following is an excerpt from ISO10206.txt here: > > "Following the decision that the first publication of a standard > for the programming language Pascal would not contain extensions to the > language, JPC prepared a project proposal to SPARC for an Extended > Pascal Standard. When approved by X3 in November 1980, this proposal > formed the charter for Project 345. > > JPC immediately formed the Extension Task Group to receive all proposals > for extensions to the Pascal language, developed the content of > proposals so that they were in a form suitable for review by JPC, fairly > and equitably reviewed all proposals in light of published JPC policy, > and provided a liaison with the public in all matters concerning > proposed extensions to the Pascal language. X3 issued a press release on > behalf of JPC in January 1980 to solicit extension proposals or > suggestions from the general public. At this time, JPC had already > prepared a list of priority extensions; public comment served to > validate and supplement the priority list. Criteria for evaluating > extensions were established and included machine independence, upward > compatibility, conceptual integrity, rigorous definition, and existing > practice as prime objectives. Extension proposals submitted by the > public and by the JPC membership were developed and refined. JPC > procedures guaranteed that proposals would be considered over at least > two meetings, affording adequate time for review of the technical merits > of each proposal. > > By June of 1983, twelve extensions had been designated by JPC as > candidate extensions and were published as a Candidate Extension > Library. Ongoing work was described in Work in Progress, published with > the Candidate Extension Library. This effort served as an interim > milestone and an opportunity for the public to review the effort to > date. > > In 1984, BSI also started work on extensions to Pascal, with an initial > aim of providing extensions in a few areas only. In 1985, the ISO Pascal > Working Group (then designated ISO/TC97/SC22/WG2, now ISO/IEC > JTC1/SC22/WG2) was reconvened after a long break to consider proposals > from both ANSI and BSI in an international forum. Thereafter WG2 met at > regular intervals to reconcile the national standardization activities > in ANSI and BSI and to consider issues raised by the other experts > participating in WG2. > > The Work in Progress, along with other proposals subsequently received, > continued its development until June 1986. The process of reconciling > individual candidate extensions among themselves was begun in September > 1984 and continued until June 1986. During this phase, conflicts between > changes were resolved and each change was reconsidered. Working drafts > of the full standard were circulated within JPC and WG2 to incorporate > changes from each meeting. > > The candidate extensions were then integrated into a draft standard that > was issued for public review. The Public Comment Task Group (PCTG) was > formed to respond to the public comments and recommend changes to the > draft. To promote a unified response on each comment issue, PCTG > included members from both WG2 and JPC. All responses and recommended > changes required final approval by JPC and WG2. PCTG recommended several > substantive changes that were subsequently approved as changes to the > draft. These changes were incorporated and a new draft was produced for > a second public review."
I think maybe you missed my point, as I missed yours. My point was that these variants of Pascal were all introduced before the standardizing efforts took place; before 1980 HP wasn't really interested in standardizing, even within their own product portfolio. They had at least five different product lines each with a different Pascal dialect (HP1000, HP3000, HP64000, HP9826, HP9020/HP-UX). Apparently the HP64000 dialect escaped their standardizing efforts. The HP9826 "Pascal Workstation" dialect was the survivor with all the others converging on it by 1987. Your evidence indicates that HP must have had a heavy hand in the standardizing bodies. It looks like the documentation they provided was most likely the fruit of the standardizing effort, not any good will of HP to make life for developers easier. CB
Reply by CBFalconer December 21, 20042004-12-21
Craig Bergren wrote:
> On Tue, 21 Dec 2004 12:43:38 +0000, CBFalconer wrote: >
... snip ...
>> >> Sounds as if most of it was to meet ISO10206. Bob Fraley, who >> developed their first specification for the HP3000, was well into >> the 'spirit of Pascal', and this was well before the first >> standard appeared. Your 'Modula' reference may well actually be >> ISO10206 features. ISO10206 is a proper superset of ISO7185, >> with the exception of a few well documented reserved words. >> > > You are talking about a 1990 standard. I'm talking about > compilers introduced to the market place in the 70s and 80s. > Most of the unification work was done by 1987, the last year I > worked on an HP1000.
You may be surprised at how much and how early ISO10206 was drafted. The following is an excerpt from ISO10206.txt here: "Following the decision that the first publication of a standard for the programming language Pascal would not contain extensions to the language, JPC prepared a project proposal to SPARC for an Extended Pascal Standard. When approved by X3 in November 1980, this proposal formed the charter for Project 345. JPC immediately formed the Extension Task Group to receive all proposals for extensions to the Pascal language, developed the content of proposals so that they were in a form suitable for review by JPC, fairly and equitably reviewed all proposals in light of published JPC policy, and provided a liaison with the public in all matters concerning proposed extensions to the Pascal language. X3 issued a press release on behalf of JPC in January 1980 to solicit extension proposals or suggestions from the general public. At this time, JPC had already prepared a list of priority extensions; public comment served to validate and supplement the priority list. Criteria for evaluating extensions were established and included machine independence, upward compatibility, conceptual integrity, rigorous definition, and existing practice as prime objectives. Extension proposals submitted by the public and by the JPC membership were developed and refined. JPC procedures guaranteed that proposals would be considered over at least two meetings, affording adequate time for review of the technical merits of each proposal. By June of 1983, twelve extensions had been designated by JPC as candidate extensions and were published as a Candidate Extension Library. Ongoing work was described in Work in Progress, published with the Candidate Extension Library. This effort served as an interim milestone and an opportunity for the public to review the effort to date. In 1984, BSI also started work on extensions to Pascal, with an initial aim of providing extensions in a few areas only. In 1985, the ISO Pascal Working Group (then designated ISO/TC97/SC22/WG2, now ISO/IEC JTC1/SC22/WG2) was reconvened after a long break to consider proposals from both ANSI and BSI in an international forum. Thereafter WG2 met at regular intervals to reconcile the national standardization activities in ANSI and BSI and to consider issues raised by the other experts participating in WG2. The Work in Progress, along with other proposals subsequently received, continued its development until June 1986. The process of reconciling individual candidate extensions among themselves was begun in September 1984 and continued until June 1986. During this phase, conflicts between changes were resolved and each change was reconsidered. Working drafts of the full standard were circulated within JPC and WG2 to incorporate changes from each meeting. The candidate extensions were then integrated into a draft standard that was issued for public review. The Public Comment Task Group (PCTG) was formed to respond to the public comments and recommend changes to the draft. To promote a unified response on each comment issue, PCTG included members from both WG2 and JPC. All responses and recommended changes required final approval by JPC and WG2. PCTG recommended several substantive changes that were subsequently approved as changes to the draft. These changes were incorporated and a new draft was produced for a second public review." -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!
Reply by Craig Bergren December 21, 20042004-12-21
On Tue, 21 Dec 2004 12:43:38 +0000, CBFalconer wrote:

> Craig Bergren wrote:
> > Sounds as if most of it was to meet ISO10206. Bob Fraley, who developed > their first specification for the HP3000, was well into the 'spirit of > Pascal', and this was well before the first standard appeared. Your > 'Modula' reference may well actually be ISO10206 features. ISO10206 is a > proper superset of ISO7185, with the exception of a few well documented > reserved words. >
You are talking about a 1990 standard. I'm talking about compilers introduced to the market place in the 70s and 80s. Most of the unification work was done by 1987, the last year I worked on an HP1000. I suspect HP worked really hard to get their extensions standardized. The Modula reference was to the MODCAL features that were not part of the '81 ANSI standard but were in HP Workstation Pascal (modules, conformant arrays, procedural parameters, and try-recover blocks). CB
Reply by CBFalconer December 21, 20042004-12-21
Craig Bergren wrote:
> On Mon, 20 Dec 2004 12:30:50 +0000, CBFalconer wrote: > >> To illustrate the extra portability, Pascal does not demand a >> binary number system, nor a hierarchy of integer types. Instead >> it requires a value MAXINT, and allows anything else to be >> arbitrarily specified as a subrange of integer. The generic SET >> construct does anything that C bitpicking can do, but in a >> completely portable manner. In addition Pascal is virtually >> error-free when compared to C, largely due to the combination of >> ranges, range checking, and absence of pointer arithmetic. > > But you forget that HP was notorious for putting out non-standard > Pascal versions. First the 64000 stuff. Then with the 9826, > they released a version that was 1/2 UCSD P-system 1/2 Modula 2. > Over time they standardized their HP1000 and HP3000 versions of > Pascal on the same dialect. By the time the A900 series HP 1000s > came out, you could develop Pascal on any HP that was truly > portable within their entire product portfolio (except I guess > the HP64000). It was incredibly popular and is completely > supported by GNU. In the mid '80s HP published the most > incredibly comprehensive Pascal reference manual that showed the > origin of each HP Pascal feature and what standards it conformed > to. They made a similar attempt to document C library routines in > the 1990s when they unified their Unix lines, but that required > lots of precompiler switches.
Sounds as if most of it was to meet ISO10206. Bob Fraley, who developed their first specification for the HP3000, was well into the 'spirit of Pascal', and this was well before the first standard appeared. Your 'Modula' reference may well actually be ISO10206 features. ISO10206 is a proper superset of ISO7185, with the exception of a few well documented reserved words. Since gpc can be set to adhere to either ISO7185 (standard Pascal) or ISO10206 (Extended Pascal) restriction to one of these standards should be the OPs first step. -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!
Reply by Craig Bergren December 21, 20042004-12-21
On Mon, 20 Dec 2004 12:30:50 +0000, CBFalconer wrote:

> To illustrate the extra portability, Pascal does not demand a binary > number system, nor a hierarchy of integer types. Instead it requires a > value MAXINT, and allows anything else to be arbitrarily specified as a > subrange of integer. The generic SET construct does anything that C > bitpicking can do, but in a completely portable manner. In addition > Pascal is virtually error-free when compared to C, largely due to the > combination of ranges, range checking, and absence of pointer arithmetic.
But you forget that HP was notorious for putting out non-standard Pascal versions. First the 64000 stuff. Then with the 9826, they released a version that was 1/2 UCSD P-system 1/2 Modula 2. Over time they standardized their HP1000 and HP3000 versions of Pascal on the same dialect. By the time the A900 series HP 1000s came out, you could develop Pascal on any HP that was truly portable within their entire product portfolio (except I guess the HP64000). It was incredibly popular and is completely supported by GNU. In the mid '80s HP published the most incredibly comprehensive Pascal reference manual that showed the origin of each HP Pascal feature and what standards it conformed to. They made a similar attempt to document C library routines in the 1990s when they unified their Unix lines, but that required lots of precompiler switches. CB
Reply by Craig Bergren December 21, 20042004-12-21
On Tue, 21 Dec 2004 04:53:02 +0000, Scott Moore wrote:

> The second issue is your impression that "Pascal is not portable". Do you > know this, or are you repeating something you have heard ? I see that > several in the thread have told you about GPC, which runs anywhere GCC > runs.
He's referring to the customized Pascal HP put on the 64000 being so different from any other dialect that he can't figure out how to translate the idiosyncrasies into a form p2c or gpc will understand. CB
Reply by HarmSalomons December 21, 20042004-12-21
Hello Scott,

Pascal being not portable: my only experience with trying to port Pascal
is with the HP64000 Pascal. It seems to have been the most difficult
version of Pascal to port. I ported C programs from HP/UX on the hp350
native to Windows and apart from the byte order, programs compiled and ran
just as easily. I tried to convert this Pascal already years ago and never
succeeded. So I can say it is from experience.

If our system had been using any ISO Pascal, we would not be discussing
this problem.


Reply by Scott Moore December 21, 20042004-12-21
HarmSalomons wrote:
> Hello Scott, > > the reason to translate is that the platform on which we do the > development is getting old and is no longer supported. > On that platform we use for the greater part Pascal as language. As you > read from the discussion, Pascal is not so portable, so if you want to > port to for instance a PC as cross compiler platform, better use C as a > language. > The Pascal program itself does the job that it was meant to do. > > H.Salomons >
The standard procedure I use to port unfamilar programs is to get it running on its original platform, if at all possible. From the posts, I gathered you were having trouble with running the original, hence the comment, that trying to translate a program that isn't working will only make things worse. The second issue is your impression that "Pascal is not portable". Do you know this, or are you repeating something you have heard ? I see that several in the thread have told you about GPC, which runs anywhere GCC runs. Porting any program is non trivial. However, I would say that between the two choices of porting a program, and translating it to a different language, the translation route is likely to be a lot more work. -- Samiam is Scott A. Moore Personal web site: http:/www.moorecad.com/scott My electronics engineering consulting site: http://www.moorecad.com ISO 7185 Standard Pascal web site: http://www.moorecad.com/standardpascal Classic Basic Games web site: http://www.moorecad.com/classicbasic The IP Pascal web site, a high performance, highly portable ISO 7185 Pascal compiler system: http://www.moorecad.com/ippas Good does not always win. But good is more patient.