Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"Faith: not *wanting* to know what is true." -- Friedrich Nietzsche


computers / comp.os.vms / Re: VMS Software Q1 '23 Update

SubjectAuthor
* VMS Software Q1 '23 UpdateJan-Erik Söderholm
`* Re: VMS Software Q1 '23 UpdateSimon Clubley
 `* Re: VMS Software Q1 '23 UpdateJan-Erik Söderholm
  `* Re: VMS Software Q1 '23 UpdateJohn H Reinhardt
   `* Re: VMS Software Q1 '23 UpdateIan Miller
    `* Re: VMS Software Q1 '23 UpdateSimon Clubley
     +* Re: VMS Software Q1 '23 UpdateDave Froble
     |+- Re: VMS Software Q1 '23 UpdateDan Cross
     |+* Re: VMS Software Q1 '23 UpdateCraig A. Berry
     ||`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     || +* Re: VMS Software Q1 '23 UpdateCraig A. Berry
     || |`- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     || `* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||  `* Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||   +- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||   `* Re: VMS Software Q1 '23 UpdateJohn Reagan
     ||    `* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||     `* Re: VMS Software Q1 '23 UpdateJohn Reagan
     ||      `* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       +* Re: VMS Software Q1 '23 UpdateJohn Reagan
     ||       |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       | `* Re: VMS Software Q1 '23 Updatebill
     ||       |  +- Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |  `* Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||       |   +- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |   `* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |    `* Re: VMS Software Q1 '23 UpdateSingle Stage to Orbit
     ||       |     `* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      +* Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||       |      |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | +* Re: VMS Software Q1 '23 UpdateSteven Schweda
     ||       |      | |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | | +- Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||       |      | | `* Re: VMS Software Q1 '23 UpdateSteven Schweda
     ||       |      | |  +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  |+* Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||+* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  |||+* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||||`- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  |||`- Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||`* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  || `* Re: VMS Software Q1 '23 UpdateScott Dorsey
     ||       |      | |  ||  +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||  |`* Re: VMS Software Q1 '23 Updatebill
     ||       |      | |  ||  | +- Re: VMS Software Q1 '23 UpdateScott Dorsey
     ||       |      | |  ||  | +- Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||  | `- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||  `* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   |+* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   ||`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || +* Re: VMS Software Q1 '23 UpdateScott Dorsey
     ||       |      | |  ||   || |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | +* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   || | |+- Re: VMS Software Q1 '23 UpdateScott Dorsey
     ||       |      | |  ||   || | |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | +- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | +* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   || | | |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | | +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | | |`- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | | `* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   || | | |  +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | |  |+* Re: VMS Software Q1 '23 UpdateCraig A. Berry
     ||       |      | |  ||   || | | |  ||`- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | |  |`* Re: VMS Software Q1 '23 UpdateJohn Reagan
     ||       |      | |  ||   || | | |  | `- Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   || | | |  `- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || | | `- Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||   || | `* Re: VMS Software Q1 '23 UpdateScott Dorsey
     ||       |      | |  ||   || |  `- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || +* Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||       |      | |  ||   || |+- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || |`* Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||   || | `* Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||       |      | |  ||   || |  +* Re: VMS Software Q1 '23 UpdateStephen Hoffman
     ||       |      | |  ||   || |  |+- Re: VMS Software Q1 '23 UpdateJohn Reagan
     ||       |      | |  ||   || |  |`* Re: VMS Software Q1 '23 UpdateSimon Clubley
     ||       |      | |  ||   || |  | +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || |  | |+* Re: VMS Software Q1 '23 UpdateJan-Erik Söderholm
     ||       |      | |  ||   || |  | ||`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || |  | || `- Re: VMS Software Q1 '23 UpdateJan-Erik Söderholm
     ||       |      | |  ||   || |  | |`* Re: VMS Software Q1 '23 UpdateSingle Stage to Orbit
     ||       |      | |  ||   || |  | | `* Re: VMS Software Q1 '23 Updateplugh
     ||       |      | |  ||   || |  | |  +* Re: VMS Software Q1 '23 UpdateSingle Stage to Orbit
     ||       |      | |  ||   || |  | |  |`* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || |  | |  | +* Re: VMS Software Q1 '23 UpdateSingle Stage to Orbit
     ||       |      | |  ||   || |  | |  | |`- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || |  | |  | `* Re: VMS Software Q1 '23 UpdateDan Cross
     ||       |      | |  ||   || |  | |  |  `* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | |  ||   || |  | |  |   `- Re: VMS Software Q1 '23 UpdateDan Cross
     ||       |      | |  ||   || |  | |  `- Re: VMS Software Q1 '23 Updateplugh
     ||       |      | |  ||   || |  | +- Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  ||   || |  | +* Re: Floating Point, Machine Epsilon, Rust, Swift, Etc (was: Re: VMS Software Q1 Stephen Hoffman
     ||       |      | |  ||   || |  | |`* Re: Floating Point, Machine Epsilon, Rust, Swift, Etc (was: Re: VMSArne Vajhøj
     ||       |      | |  ||   || |  | | `* Re: Floating Point, Machine Epsilon, Rust, Swift, Etc (was: Re: VMSDan Cross
     ||       |      | |  ||   || |  | |  `- Re: Floating Point, Machine Epsilon, Rust, Swift, Etc (was: Re: VMSArne Vajhøj
     ||       |      | |  ||   || |  | `- Re: VMS Software Q1 '23 UpdateDan Cross
     ||       |      | |  ||   || |  `- Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||   || `- Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||   |`- Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  ||   +* Re: VMS Software Q1 '23 UpdateScott Dorsey
     ||       |      | |  ||   +* Re: VMS Software Q1 '23 Updatebill
     ||       |      | |  ||   `- Re: VMS Software Q1 '23 UpdateJohnny Billquist
     ||       |      | |  |`* Re: VMS Software Q1 '23 UpdateDave Froble
     ||       |      | |  `* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      | `- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     ||       |      `* Re: VMS Software Q1 '23 UpdateSingle Stage to Orbit
     ||       `* Re: VMS Software Q1 '23 UpdateDave Froble
     |`- Re: VMS Software Q1 '23 UpdateIan Miller
     +* Re: VMS Software Q1 '23 UpdateCraig A. Berry
     +- Re: VMS Software Q1 '23 UpdateArne Vajhøj
     +* Re: VMS Software Q1 '23 UpdateArne Vajhøj
     `- Re: VMS Software Q1 '23 UpdateArne Vajhøj

Pages:123456
Re: VMS Software Q1 '23 Update

<tqs339$puvr$4@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26305&group=comp.os.vms#26305

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 15:23:04 -0500
Organization: A noiseless patient Spider
Lines: 41
Message-ID: <tqs339$puvr$4@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqs1bm$puvr$2@dont-email.me>
<0da1b6da-a48a-41cf-87f6-5789b9da57c0n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 25 Jan 2023 20:23:05 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="329a37ec7a7c7a885acab86537d056ee";
logging-data="850939"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18WmzpITOq/uWm7ZC6hVJ/ojQNToHRiY3E="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:KVCw/By3sXN4Tz1CKnakbPUGpBA=
Content-Language: en-US
In-Reply-To: <0da1b6da-a48a-41cf-87f6-5789b9da57c0n@googlegroups.com>
 by: Arne Vajhøj - Wed, 25 Jan 2023 20:23 UTC

On 1/25/2023 3:14 PM, jimc...@gmail.com wrote:
> On Wednesday, January 25, 2023 at 11:53:29 AM UTC-8, Arne Vajhøj
> wrote:
>> Hasn't it been informally known for a decade and formally known for
>> years that VSI focus was to get the existing VMS customers from
>> Alpha and Itanium to x86-64 and that new customers are future after
>> that?
>
> For some time, VSI made bold public statements about VMS being a
> competitive replacement for other platforms, usually based on some
> 1980s-era marketing language around being more secure and stable
>
> It would seem they are now being more realistic, or at least
> postponing that talk until they're finished bringing x86-64 to at
> least early-2000s Alpha parity

I don't think that it is a recent change.

It has been the message for some time.

>> Ask them again in 2028 and they may have a different answer.
>
> The amount of technical debt to be completed in order to expand their
> market share will only grow in the intervening years between now and
> 2028

Some yes.

But VSI do not need to wait until 2028 to start the work.

The following is not from VSI but my speculation:

VSI sales & support people VSI R&D people
phase 1 convince customers to stay on VMS produce VMS x86-64
phase 2 get customers from AXP/I64 to x64 enhance VMS as SW platform
phase 3 start sell VMS to new customers ?

Arne

Re: VMS Software Q1 '23 Update

<tqs6s4$qtia$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26306&group=comp.os.vms#26306

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: craigbe...@nospam.mac.com (Craig A. Berry)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 15:27:32 -0600
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <tqs6s4$qtia$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpphs$badl$2@dont-email.me>
<tqrncq$o1tk$3@dont-email.me> <tqrvb2$pq8b$1@dont-email.me>
<tqs0lo$puvr$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 25 Jan 2023 21:27:33 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="6e8bfbf0b6e19ad7b3622897209870e3";
logging-data="882250"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19v+doRtdyATd8PQkc371A3n4LqopU7QYc="
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
Gecko/20100101 Thunderbird/102.6.1
Cancel-Lock: sha1:OnGs1KkaAYhlfXok8isIkGvco40=
Content-Language: en-US
In-Reply-To: <tqs0lo$puvr$1@dont-email.me>
 by: Craig A. Berry - Wed, 25 Jan 2023 21:27 UTC

On 1/25/23 1:41 PM, Arne Vajhøj wrote:
> On 1/25/2023 2:18 PM, Craig A. Berry wrote:
>> On 1/25/23 11:03 AM, Arne Vajhøj wrote:
>>> On 1/24/2023 6:27 PM, Craig A. Berry wrote:
>>>> On 1/24/23 12:17 PM, Simon Clubley wrote:
>>>>> |What position does PostgreSQL have on the list of opensource
>>>>> software?
>>>>> |
>>>>> |We have no plans to port PostgreSQL to OpenVMS.
>>>>
>>>> That is bizarre.  It's already _been_ ported for Integrity and has been
>>>> available since 10 December 2021 as a download from the VSI portal.
>>>> It's hard to imagine what an x86 build would require that's different
>>>> from an IA64 build.
>>>
>>> PostgreSQL Client (libpq) is available for both Alpha and Itanium:
>>>     https://vmssoftware.com/products/libpq/
>>>
>>> There has been a lot of talk about PostgreSQL server for VMS and
>>> the associated changes to IO. But I have not seen a formal
>>> announcement of a finished product being available.
>>
>> The kit name is VSI-I64VMS-POSTGRESQL-V1303--1, so appears not just to
>> be libpq.
>
> That is a different kit from the LIBPQ kit above.
>
>>  The description says, "VSI Shared Stream I/O Modules and VSI
>> POSTGRESQL Version 13.3-1 for VSI OpenVMS I64 Version 8.4-2L3 and
>> higher. SSIO_MODULES.ZIP and Release Notes are included in the ZIP file.
>> * THIS IS A FIELD TEST KIT RELEASE ONLY! *."  And appears to be only
>> available with a support contract.
>
> Field test I know.
>
> :-)
>
>> Maybe the field test revealed more problems than they have time to look
>> into right now.  Or maybe SSIO is even more difficult to get right than
>> they thought it was.
>
> Priorities.
>
> Getting 9.x and the native compilers out is way more important.
>
> And even for the database area then helping the existing
> VMS Oracle client customers moving to SQLRelay is probably more
> important than a new database.

I have no argument with the priorities. There's still a bit of a
disconnect between saying on the one hand "We have ported PostgreSQL to
VMS and here's a field test kit" and on the other hand "We have no plans
to port PostgreSQL to VMS."

Re: VMS Software Q1 '23 Update

<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26307&group=comp.os.vms#26307

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:6214:292:b0:537:6a1e:d81e with SMTP id l18-20020a056214029200b005376a1ed81emr334875qvv.4.1674684963864;
Wed, 25 Jan 2023 14:16:03 -0800 (PST)
X-Received: by 2002:a05:620a:113c:b0:706:4d9d:e325 with SMTP id
p28-20020a05620a113c00b007064d9de325mr1733994qkk.419.1674684963601; Wed, 25
Jan 2023 14:16:03 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 25 Jan 2023 14:16:03 -0800 (PST)
In-Reply-To: <tqrrie$p41u$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=71.80.99.242; posting-account=M3IgSwoAAADJd6EnOmsrCCfB6_OyTOkv
NNTP-Posting-Host: 71.80.99.242
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com> <tqp7bm$871q$1@dont-email.me>
<tqpg77$9pjt$1@dont-email.me> <tqpp85$badl$1@dont-email.me>
<tqrm2c$o1tk$1@dont-email.me> <tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
Subject: Re: VMS Software Q1 '23 Update
From: xyzzy1...@gmail.com (John Reagan)
Injection-Date: Wed, 25 Jan 2023 22:16:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3690
 by: John Reagan - Wed, 25 Jan 2023 22:16 UTC

On Wednesday, January 25, 2023 at 1:14:40 PM UTC-5, Simon Clubley wrote:
> On 2023-01-25, Arne Vajhøj <ar...@vajhoej.dk> wrote:
> >
> > Given a lot of VMS users are using Basic, then I don't think
> > it is being down prioritized for business reasons. That does not
> > make sense.
> >
> John has mentioned that he's hit problems due to some unique requirement
> in DEC Basic. I wonder if the problems were more serious than he
> initially realised ?
>
> Simon.
>
> PS: I wonder what they finally ended up doing about TECO ? :-)
>
> PPS: On a more serious note, I wonder how the Rdb users feel about
> Rdb not been available for x86-64 for at least another year ?
> --
> Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
> Walking destinations on a map are further away than they appear.

I wrote that sentence in the PDF file. Vadim is less optimistic. We'll see who is right.
Depends on how often they change the water in my "head in a jar".

As I've said before, the issue is COMMON blocks. When I first did the design of
how to convert GEM CIL and GEM symbol table to LLVM, I didn't appreciate the
difference in how COMMON blocks are described to LLVM and the UNIX environment
in general. It isn't just BASIC, you can see broken COMMON blocks in the Fortran
cross-compiler if you look hard enough. The problem is that the BASIC MAP statement
doesn't work right and almost every BASIC program uses MAPs for something. I have
a BASIC cross-compiler. If you don't use a MAP, it probably works (although the test
system doesn't very far without MAP).

I also didn't appreciate the complexity of how BASIC uses (exploits?) the GEM interfaces.
We already found one place where it relied on the GEM implementation in spite of the
GEM documentation saying "don't do that". We extended the G2L converter to emulate
the GEM behavior about positioning of variables on the stack.

I'm actually code reviewing (well, I haven't started reviewing yet) a solution from one
of my engineers. It fixes the Fortran issues. I hope it will help BASIC but I haven't
looked. We'll keep pounding on it.

Re: VMS Software Q1 '23 Update

<tqsar7$rhss$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26308&group=comp.os.vms#26308

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 17:35:18 -0500
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <tqsar7$rhss$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 25 Jan 2023 22:35:19 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="329a37ec7a7c7a885acab86537d056ee";
logging-data="903068"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18wSXYvl1CtB2H7uu63unR4mj4ujTICFg0="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:tqc8QHCiIUQQzOYho1jvg8dQRJ4=
Content-Language: en-US
In-Reply-To: <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
 by: Arne Vajhøj - Wed, 25 Jan 2023 22:35 UTC

On 1/25/2023 5:16 PM, John Reagan wrote:
> I wrote that sentence in the PDF file. Vadim is less optimistic. We'll see who is right.
> Depends on how often they change the water in my "head in a jar".
>
> As I've said before, the issue is COMMON blocks. When I first did the design of
> how to convert GEM CIL and GEM symbol table to LLVM, I didn't appreciate the
> difference in how COMMON blocks are described to LLVM and the UNIX environment
> in general. It isn't just BASIC, you can see broken COMMON blocks in the Fortran
> cross-compiler if you look hard enough. The problem is that the BASIC MAP statement
> doesn't work right and almost every BASIC program uses MAPs for something. I have
> a BASIC cross-compiler. If you don't use a MAP, it probably works (although the test
> system doesn't very far without MAP).
>
> I also didn't appreciate the complexity of how BASIC uses (exploits?) the GEM interfaces.
> We already found one place where it relied on the GEM implementation in spite of the
> GEM documentation saying "don't do that". We extended the G2L converter to emulate
> the GEM behavior about positioning of variables on the stack.
>
> I'm actually code reviewing (well, I haven't started reviewing yet) a solution from one
> of my engineers. It fixes the Fortran issues. I hope it will help BASIC but I haven't
> looked. We'll keep pounding on it.

I am surprised that Fortran COMMON is a problem given
flang, but the details tend to be full of little devils.

:-)

Do you need to fix everything in G2L or can you sometimes
get a change into the LLVM backend?

Arne

Re: VMS Software Q1 '23 Update

<tqsavu$rhss$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26309&group=comp.os.vms#26309

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 17:37:49 -0500
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <tqsavu$rhss$2@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpphs$badl$2@dont-email.me>
<tqrncq$o1tk$3@dont-email.me> <tqrvb2$pq8b$1@dont-email.me>
<tqs0lo$puvr$1@dont-email.me> <tqs6s4$qtia$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 25 Jan 2023 22:37:50 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="329a37ec7a7c7a885acab86537d056ee";
logging-data="903068"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX195ekNdChjxN3uIkkwYtb+VgFMTDmDTwDA="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:A4r5GDRPRx6hAc3VKdcP20ZpNx4=
Content-Language: en-US
In-Reply-To: <tqs6s4$qtia$1@dont-email.me>
 by: Arne Vajhøj - Wed, 25 Jan 2023 22:37 UTC

On 1/25/2023 4:27 PM, Craig A. Berry wrote:
> I have no argument with the priorities.  There's still a bit of a
> disconnect between saying on the one hand "We have ported PostgreSQL to
> VMS and here's a field test kit" and on the other hand "We have no plans
> to port PostgreSQL to VMS."

Totally agree.

But sometimes companies are reluctant to commit in writing
to anything that is not ready yet.

Arne

Re: VMS Software Q1 '23 Update

<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26310&group=comp.os.vms#26310

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a0c:fe4c:0:b0:532:32c7:cc9 with SMTP id u12-20020a0cfe4c000000b0053232c70cc9mr1696690qvs.0.1674687350004;
Wed, 25 Jan 2023 14:55:50 -0800 (PST)
X-Received: by 2002:ae9:e8d0:0:b0:704:d44f:df71 with SMTP id
a199-20020ae9e8d0000000b00704d44fdf71mr1808153qkg.68.1674687349773; Wed, 25
Jan 2023 14:55:49 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 25 Jan 2023 14:55:49 -0800 (PST)
In-Reply-To: <tqsar7$rhss$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=71.80.99.242; posting-account=M3IgSwoAAADJd6EnOmsrCCfB6_OyTOkv
NNTP-Posting-Host: 71.80.99.242
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com> <tqp7bm$871q$1@dont-email.me>
<tqpg77$9pjt$1@dont-email.me> <tqpp85$badl$1@dont-email.me>
<tqrm2c$o1tk$1@dont-email.me> <tqrmpk$o1tk$2@dont-email.me>
<tqrrie$p41u$1@dont-email.me> <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
Subject: Re: VMS Software Q1 '23 Update
From: xyzzy1...@gmail.com (John Reagan)
Injection-Date: Wed, 25 Jan 2023 22:55:49 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4942
 by: John Reagan - Wed, 25 Jan 2023 22:55 UTC

On Wednesday, January 25, 2023 at 5:35:22 PM UTC-5, Arne Vajhøj wrote:
> On 1/25/2023 5:16 PM, John Reagan wrote:
> > I wrote that sentence in the PDF file. Vadim is less optimistic. We'll see who is right.
> > Depends on how often they change the water in my "head in a jar".
> >
> > As I've said before, the issue is COMMON blocks. When I first did the design of
> > how to convert GEM CIL and GEM symbol table to LLVM, I didn't appreciate the
> > difference in how COMMON blocks are described to LLVM and the UNIX environment
> > in general. It isn't just BASIC, you can see broken COMMON blocks in the Fortran
> > cross-compiler if you look hard enough. The problem is that the BASIC MAP statement
> > doesn't work right and almost every BASIC program uses MAPs for something. I have
> > a BASIC cross-compiler. If you don't use a MAP, it probably works (although the test
> > system doesn't very far without MAP).
> >
> > I also didn't appreciate the complexity of how BASIC uses (exploits?) the GEM interfaces.
> > We already found one place where it relied on the GEM implementation in spite of the
> > GEM documentation saying "don't do that". We extended the G2L converter to emulate
> > the GEM behavior about positioning of variables on the stack.
> >
> > I'm actually code reviewing (well, I haven't started reviewing yet) a solution from one
> > of my engineers. It fixes the Fortran issues. I hope it will help BASIC but I haven't
> > looked. We'll keep pounding on it.
> I am surprised that Fortran COMMON is a problem given
> flang, but the details tend to be full of little devils.
>
> :-)
>
> Do you need to fix everything in G2L or can you sometimes
> get a change into the LLVM backend?
>
> Arne
G2L recurses down the symbol table and converts the static variables in each block as it finds
them. The difference is that GEM frontends can record the desired offset into the PSECT in
any order. We sort by offset in each block, but we need to hoist all the static variables out in
another pass, sort them, and do them all at the module level. PSECTs are created by the linker.
They exist outside the control of the compiler.

Here's a nasty Fortran program where each subroutine initializes and reinitializes parts of the
same common block in a particular order.

subroutine print_common
common /mypsect/ i1,i2
integer*4 :: i1,i2
write (*,10) i1,i2
10 format (' ',Z8,' ',Z8)
return
end

subroutine update_longwords
common /mypsect/ i1,i2
c start with putting hex AAAAAAAA into both longwords
integer*4 :: i1='AAAAAAAA'X,i2='AAAAAAAA'X
return
end

subroutine update_words
c and update bottom words with BBBB
common /mypsect/ w1,w2,w3,w4
integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
return
end

subroutine update_bytes
c and update bottom bytes with CC
common /mypsect/ b1,b2,b3,b4,b5,b6,b7,b8
integer*1 :: b1,b2,b3,b4='CC'X,b5,b6,b7,b8='CC'X
return
end

program main
c by now, the two longwords in the common should be
c CCBBAAAA CCBBAAAA
call print_common
end

Re: VMS Software Q1 '23 Update

<tqsf7p$s7a0$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26311&group=comp.os.vms#26311

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 18:50:16 -0500
Organization: A noiseless patient Spider
Lines: 60
Message-ID: <tqsf7p$s7a0$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 25 Jan 2023 23:50:17 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="924992"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+F7s5kxG1JlD6tQhjuSBCuMRHOuMPmXjk="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:fypj7sG7qXSBMvZJ74KX2ezC0pg=
In-Reply-To: <9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
Content-Language: en-US
 by: Arne Vajhøj - Wed, 25 Jan 2023 23:50 UTC

On 1/25/2023 5:55 PM, John Reagan wrote:
> G2L recurses down the symbol table and converts the static variables in each block as it finds
> them. The difference is that GEM frontends can record the desired offset into the PSECT in
> any order. We sort by offset in each block, but we need to hoist all the static variables out in
> another pass, sort them, and do them all at the module level. PSECTs are created by the linker.
> They exist outside the control of the compiler.
>
> Here's a nasty Fortran program where each subroutine initializes and reinitializes parts of the
> same common block in a particular order.
>
> subroutine print_common
> common /mypsect/ i1,i2
> integer*4 :: i1,i2
> write (*,10) i1,i2
> 10 format (' ',Z8,' ',Z8)
> return
> end
>
> subroutine update_longwords
> common /mypsect/ i1,i2
> c start with putting hex AAAAAAAA into both longwords
> integer*4 :: i1='AAAAAAAA'X,i2='AAAAAAAA'X
> return
> end
>
> subroutine update_words
> c and update bottom words with BBBB
> common /mypsect/ w1,w2,w3,w4
> integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
> return
> end
>
> subroutine update_bytes
> c and update bottom bytes with CC
> common /mypsect/ b1,b2,b3,b4,b5,b6,b7,b8
> integer*1 :: b1,b2,b3,b4='CC'X,b5,b6,b7,b8='CC'X
> return
> end
>
> program main
> c by now, the two longwords in the common should be
> c CCBBAAAA CCBBAAAA
> call print_common
> end

That is horrible code IMHO.

Initializing the same common block in multiple subroutines
is not something I would ever do.

I would expect either an error or undefined result due to
order of processing being undefined.

But then I don't know what the Fortran standard and the
VMS Fortran documentation says on the topic.

Someone is actually using such constructs?

Arne

Re: VMS Software Q1 '23 Update

<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26312&group=comp.os.vms#26312

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:620a:1394:b0:706:50b5:abca with SMTP id k20-20020a05620a139400b0070650b5abcamr1938875qki.465.1674694101794;
Wed, 25 Jan 2023 16:48:21 -0800 (PST)
X-Received: by 2002:a37:415:0:b0:702:642a:9d35 with SMTP id
21-20020a370415000000b00702642a9d35mr1060118qke.130.1674694101537; Wed, 25
Jan 2023 16:48:21 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 25 Jan 2023 16:48:21 -0800 (PST)
In-Reply-To: <tqsf7p$s7a0$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=71.80.99.242; posting-account=M3IgSwoAAADJd6EnOmsrCCfB6_OyTOkv
NNTP-Posting-Host: 71.80.99.242
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com> <tqp7bm$871q$1@dont-email.me>
<tqpg77$9pjt$1@dont-email.me> <tqpp85$badl$1@dont-email.me>
<tqrm2c$o1tk$1@dont-email.me> <tqrmpk$o1tk$2@dont-email.me>
<tqrrie$p41u$1@dont-email.me> <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me> <9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
Subject: Re: VMS Software Q1 '23 Update
From: xyzzy1...@gmail.com (John Reagan)
Injection-Date: Thu, 26 Jan 2023 00:48:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4246
 by: John Reagan - Thu, 26 Jan 2023 00:48 UTC

On Wednesday, January 25, 2023 at 6:50:20 PM UTC-5, Arne Vajhøj wrote:
> On 1/25/2023 5:55 PM, John Reagan wrote:
> > G2L recurses down the symbol table and converts the static variables in each block as it finds
> > them. The difference is that GEM frontends can record the desired offset into the PSECT in
> > any order. We sort by offset in each block, but we need to hoist all the static variables out in
> > another pass, sort them, and do them all at the module level. PSECTs are created by the linker.
> > They exist outside the control of the compiler.
> >
> > Here's a nasty Fortran program where each subroutine initializes and reinitializes parts of the
> > same common block in a particular order.
> >
> > subroutine print_common
> > common /mypsect/ i1,i2
> > integer*4 :: i1,i2
> > write (*,10) i1,i2
> > 10 format (' ',Z8,' ',Z8)
> > return
> > end
> >
> > subroutine update_longwords
> > common /mypsect/ i1,i2
> > c start with putting hex AAAAAAAA into both longwords
> > integer*4 :: i1='AAAAAAAA'X,i2='AAAAAAAA'X
> > return
> > end
> >
> > subroutine update_words
> > c and update bottom words with BBBB
> > common /mypsect/ w1,w2,w3,w4
> > integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
> > return
> > end
> >
> > subroutine update_bytes
> > c and update bottom bytes with CC
> > common /mypsect/ b1,b2,b3,b4,b5,b6,b7,b8
> > integer*1 :: b1,b2,b3,b4='CC'X,b5,b6,b7,b8='CC'X
> > return
> > end
> >
> > program main
> > c by now, the two longwords in the common should be
> > c CCBBAAAA CCBBAAAA
> > call print_common
> > end
> That is horrible code IMHO.
>
> Initializing the same common block in multiple subroutines
> is not something I would ever do.
>
> I would expect either an error or undefined result due to
> order of processing being undefined.
>
> But then I don't know what the Fortran standard and the
> VMS Fortran documentation says on the topic.
>
> Someone is actually using such constructs?
>
> Arne
Well, I expanded it from a customer program. In the broken compiler, each subroutine
with the partial/overlay initialization appended the values to the end. The current
Fortran cross-compiler will create a COMMON block that is several times larger by
mistake. A future compiler will match the Itanium and Alpha output.

Yes, legal Fortran of the day. I don't get to pick and choose which programs to support.

Re: VMS Software Q1 '23 Update

<tqsivt$srer$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26313&group=comp.os.vms#26313

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 19:54:20 -0500
Organization: A noiseless patient Spider
Lines: 38
Message-ID: <tqsivt$srer$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 00:54:21 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="945627"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/l/9MSbiXnvoHQ51tI652bQQ1nfM+9AuY="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:iJSiChkfZxRo3B2lZ5jKQ6RFRYM=
Content-Language: en-US
In-Reply-To: <660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
 by: Arne Vajhøj - Thu, 26 Jan 2023 00:54 UTC

On 1/25/2023 7:48 PM, John Reagan wrote:
> On Wednesday, January 25, 2023 at 6:50:20 PM UTC-5, Arne Vajhøj wrote:
>> That is horrible code IMHO.
>>
>> Initializing the same common block in multiple subroutines
>> is not something I would ever do.
>>
>> I would expect either an error or undefined result due to
>> order of processing being undefined.
>>
>> But then I don't know what the Fortran standard and the
>> VMS Fortran documentation says on the topic.
>>
>> Someone is actually using such constructs?
>
> Well, I expanded it from a customer program. In the broken compiler, each subroutine
> with the partial/overlay initialization appended the values to the end. The current
> Fortran cross-compiler will create a COMMON block that is several times larger by
> mistake. A future compiler will match the Itanium and Alpha output.
>
> Yes, legal Fortran of the day.

Many years ago I did a lot of Fortran, but it has been some years.

As I remember it then good practice was to have the common block itself
in an include to ensure consistency and to only initialize once - either
in a block data which I think was invented for this purpose or some
pre-determined place like the main program.

> I don't get to pick and choose which programs to support.

I understand.

You have probably seen it before, but:
https://xkcd.com/1172/

Arne

Re: VMS Software Q1 '23 Update

<k3e21sF25rU1@mid.individual.net>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26314&group=comp.os.vms#26314

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: bill.gun...@gmail.com (bill)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 20:07:08 -0500
Lines: 33
Message-ID: <k3e21sF25rU1@mid.individual.net>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
<tqsivt$srer$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net f8QxTMLvT9/8Px8SbWxQ/wBY7XCI6N58MGoC6eFv37oJJogagN
Cancel-Lock: sha1:2gwR1gZrFgknYmzqQIOOrnEEk7Q=
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Content-Language: en-US
In-Reply-To: <tqsivt$srer$1@dont-email.me>
 by: bill - Thu, 26 Jan 2023 01:07 UTC

On 1/25/2023 7:54 PM, Arne Vajhøj wrote:
>
>
> Many years ago I did a lot of Fortran, but it has been some years.
>
> As I remember it then good practice was to have the common block itself
> in an include to ensure consistency and to only initialize once - either
> in a block data which I think was invented for this purpose or some
> pre-determined place like the main program.
>

As did I. And, at one point I even got to be the front man for support
for the Fortran Compiler on Primos.

Two interesting things I have run into that are loosely related.

We got a complaint from an "engineer" who claimed the compiler was
broken because when he compared reals they never equaled each other.
Prime fixed that one by adding an error message that politely said
"Don't do that, stupid".

But the better one is still available for viewing today. The PL/M
compiler is written in Fortran. It uses a lot of COMMON. The version
I use is somewhat different from the ones you will find on the web.
Mine has all the variables in the same order in all of the COMMON
declarations! And yet it worked for how many years? Points out
another flaw. Obviously all the stuff in COMMON really doesn't need
to be there.

John, I don't envy your job.

bill

Re: VMS Software Q1 '23 Update

<tqsldr$t9n1$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26315&group=comp.os.vms#26315

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 20:36:14 -0500
Organization: A noiseless patient Spider
Lines: 122
Message-ID: <tqsldr$t9n1$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 01:35:55 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="15eb5a82358e9e1b09757ffbbbf07b9e";
logging-data="960225"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX181b95vIgLho9ivWwI5e/1eObjWJdfsI8Q="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:8Y5KR/UG+wh0tVhIHKVVV1ne27w=
In-Reply-To: <tqsf7p$s7a0$1@dont-email.me>
 by: Dave Froble - Thu, 26 Jan 2023 01:36 UTC

On 1/25/2023 6:50 PM, Arne Vajhøj wrote:
> On 1/25/2023 5:55 PM, John Reagan wrote:
>> G2L recurses down the symbol table and converts the static variables in each
>> block as it finds
>> them. The difference is that GEM frontends can record the desired offset into
>> the PSECT in
>> any order. We sort by offset in each block, but we need to hoist all the
>> static variables out in
>> another pass, sort them, and do them all at the module level. PSECTs are
>> created by the linker.
>> They exist outside the control of the compiler.
>>
>> Here's a nasty Fortran program where each subroutine initializes and
>> reinitializes parts of the
>> same common block in a particular order.
>>
>> subroutine print_common
>> common /mypsect/ i1,i2
>> integer*4 :: i1,i2
>> write (*,10) i1,i2
>> 10 format (' ',Z8,' ',Z8)
>> return
>> end
>>
>> subroutine update_longwords
>> common /mypsect/ i1,i2
>> c start with putting hex AAAAAAAA into both longwords
>> integer*4 :: i1='AAAAAAAA'X,i2='AAAAAAAA'X
>> return
>> end
>>
>> subroutine update_words
>> c and update bottom words with BBBB
>> common /mypsect/ w1,w2,w3,w4
>> integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
>> return
>> end
>>
>> subroutine update_bytes
>> c and update bottom bytes with CC
>> common /mypsect/ b1,b2,b3,b4,b5,b6,b7,b8
>> integer*1 :: b1,b2,b3,b4='CC'X,b5,b6,b7,b8='CC'X
>> return
>> end
>>
>> program main
>> c by now, the two longwords in the common should be
>> c CCBBAAAA CCBBAAAA
>> call print_common
>> end
>
> That is horrible code IMHO.

I find that an interesting comment ...

Perhaps it is doing what someone needed it to do ...

> Initializing the same common block in multiple subroutines
> is not something I would ever do.

You've never redefined the data type of some data?

> I would expect either an error or undefined result due to
> order of processing being undefined.
>
> But then I don't know what the Fortran standard and the
> VMS Fortran documentation says on the topic.
>
> Someone is actually using such constructs?
>
> Arne
>

Consider:

Record TLS
Variant
Case
String Rec$=42
Case
Byte Byte1%
Byte VerMajor%
Byte VerMinor%
Long UnixDate%
String Random$=28
Long SessionID%
Word Cypher%
Byte Method%
End Variant
End Record

In this case the Basic RECORD statement allows multiple variants of the same
memory, basically allowing different types of variables to be used on the same
memory location(s). Useful, and a relatively later addition to the language.
Similar to what is called a structure in C and perhaps other languages.

Perhaps some would not want variants, but I for one have used them many times.

Map (D) Long D1%
Map (D) String D1$=4

Now in a MAP statement, whiich is rather similar to a COMMON block, multiple
definitions of the MAP statement allows for a similar redefinition of the same
memory. In the above, a longword value is stored in 4 bytes of memory. The
redefinition of the MAP statement allows the same memory to be labeled as a
string or a longword.

It's been useful to me in the past.

Back in the day, some programmers learned to work around things a language
didn't provide. I'd guess that different implementations of a compiler might
not be quite happy with such work arounds.

Sorry John ...

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: VMS Software Q1 '23 Update

<tqslqb$tbis$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26316&group=comp.os.vms#26316

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 20:42:54 -0500
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <tqslqb$tbis$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
<tqsivt$srer$1@dont-email.me> <k3e21sF25rU1@mid.individual.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 01:42:35 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="15eb5a82358e9e1b09757ffbbbf07b9e";
logging-data="962140"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+0Znf26agLbHvGDZsMac6sQ6t1ioEe/D0="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:nkxUVBXTng3cHzGGR0SQdAyfto8=
In-Reply-To: <k3e21sF25rU1@mid.individual.net>
 by: Dave Froble - Thu, 26 Jan 2023 01:42 UTC

On 1/25/2023 8:07 PM, bill wrote:
> On 1/25/2023 7:54 PM, Arne Vajhøj wrote:
>>
>>
>> Many years ago I did a lot of Fortran, but it has been some years.
>>
>> As I remember it then good practice was to have the common block itself
>> in an include to ensure consistency and to only initialize once - either
>> in a block data which I think was invented for this purpose or some
>> pre-determined place like the main program.
>>
>
> As did I. And, at one point I even got to be the front man for support
> for the Fortran Compiler on Primos.
>
> Two interesting things I have run into that are loosely related.
>
> We got a complaint from an "engineer" who claimed the compiler was
> broken because when he compared reals they never equaled each other.
> Prime fixed that one by adding an error message that politely said
> "Don't do that, stupid".
>
> But the better one is still available for viewing today. The PL/M
> compiler is written in Fortran. It uses a lot of COMMON. The version
> I use is somewhat different from the ones you will find on the web.
> Mine has all the variables in the same order in all of the COMMON
> declarations! And yet it worked for how many years? Points out
> another flaw. Obviously all the stuff in COMMON really doesn't need
> to be there.
>
> John, I don't envy your job.
>
> bill
>

I'm guessing (I know very little about how compilers actually work) that one
reason might be that instead of re-working the compilers to output something
LLVM can use, they are continuing to output what GEM uses, and then translating
that to what LLVM can use. Might sound like a shortcut at first, but, I've got
to believe there are lots of gators in that swamp.

As for the scale of the job to have the compilers product directly what LLVM can
use, I don't have any clue.

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: VMS Software Q1 '23 Update

<tqso8d$tit2$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26317&group=comp.os.vms#26317

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 21:24:13 -0500
Organization: A noiseless patient Spider
Lines: 129
Message-ID: <tqso8d$tit2$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 02:24:13 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="969634"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18zPf1Bhcb9fZ0J1nA26Q6zLDNb6X5N7LU="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:m1VTN+iMMO1zmq8ROdf8RccNJ0c=
Content-Language: en-US
In-Reply-To: <tqsldr$t9n1$1@dont-email.me>
 by: Arne Vajhøj - Thu, 26 Jan 2023 02:24 UTC

On 1/25/2023 8:36 PM, Dave Froble wrote:
> On 1/25/2023 6:50 PM, Arne Vajhøj wrote:
>> On 1/25/2023 5:55 PM, John Reagan wrote:
>>> Here's a nasty Fortran program where each subroutine initializes and
>>> reinitializes parts of the
>>> same common block in a particular order.
>>>
>>>          subroutine print_common
>>>          common /mypsect/ i1,i2
>>>          integer*4 :: i1,i2
>>>          write (*,10) i1,i2
>>> 10      format (' ',Z8,' ',Z8)
>>>          return
>>>          end
>>>
>>>          subroutine update_longwords
>>>          common /mypsect/ i1,i2
>>> c start with putting hex AAAAAAAA into both longwords
>>>          integer*4 :: i1='AAAAAAAA'X,i2='AAAAAAAA'X
>>>          return
>>>          end
>>>
>>>          subroutine update_words
>>> c and update bottom words with BBBB
>>>          common /mypsect/ w1,w2,w3,w4
>>>          integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
>>>          return
>>>          end
>>>
>>>          subroutine update_bytes
>>> c and update bottom bytes with CC
>>>          common /mypsect/ b1,b2,b3,b4,b5,b6,b7,b8
>>>          integer*1 :: b1,b2,b3,b4='CC'X,b5,b6,b7,b8='CC'X
>>>          return
>>>          end
>>>
>>>          program main
>>> c by now, the two longwords in the common should be
>>> c CCBBAAAA CCBBAAAA
>>>          call print_common
>>>          end
>>
>> That is horrible code IMHO.
>
> I find that an interesting comment ...
>
> Perhaps it is doing what someone needed it to do ...

I don't think they did for fun.

But I believe there are better ways to do that.

>> Initializing the same common block in multiple subroutines
>> is not something I would ever do.
>
> You've never redefined the data type of some data?

> Consider:
>
>        Record TLS
>           Variant
>             Case
>                 String  Rec$=42
>             Case
>                 Byte    Byte1%
>                 Byte    VerMajor%
>                 Byte    VerMinor%
>                 Long    UnixDate%
>                 String  Random$=28
>                 Long    SessionID%
>                 Word    Cypher%
>                 Byte    Method%
>           End Variant
>         End Record
>
>
> In this case the Basic RECORD statement allows multiple variants of the
> same memory, basically allowing different types of variables to be used
> on the same memory location(s).  Useful, and a relatively later addition
> to the language. Similar to what is called a structure in C and perhaps
> other languages.

That is really a different thing than initializing the same psect
multiple times in different places.

Having to overlay different types is a common feature in languages.
Pascal got the variant case record similar to the Basic code above.
C got union. In Fortran it can be achieved using common blocks, but
the right way (IMHO) is to use equivalence.

> Perhaps some would not want variants, but I for one have used them many
> times.
>
>         Map (D) Long D1%
>         Map (D) String D1$=4
>
> Now in a MAP statement, whiich is rather similar to a COMMON block,
> multiple definitions of the MAP statement allows for a similar
> redefinition of the same memory.  In the above, a longword value is
> stored in 4 bytes of memory.  The redefinition of the MAP statement
> allows the same memory to be labeled as a string or a longword.
>
> It's been useful to me in the past.

I am not arguing against this.

But in Fortran this should not be done using common blocks but
via equivalence.

integer*4 iv
character*4 sv
equivalence (iv,sv)

It has local scope and is readable.

And if necessary it can be combined with a common block.

In extremely rare cases there may even be a good reason to
have different definition (different types) in different routines.
It is difficult to read as there are no indication in the
individual routine that it has a different definition elsewhere.
But one never knows what can be required to solve a problem.

But I can not believe there are any cases where I would
consider it good to static initialize parts of a common
block in different routines.

Arne

Re: VMS Software Q1 '23 Update

<tqsogv$tit2$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26318&group=comp.os.vms#26318

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Wed, 25 Jan 2023 21:28:47 -0500
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <tqsogv$tit2$2@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me>
<tqso8d$tit2$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 02:28:48 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="969634"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX185qNyjafnE9+zNdQTTCensL6j3jO4YO6o="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:Z8xxm/MJJn+KnY6jSJ+xvM20+Mc=
Content-Language: en-US
In-Reply-To: <tqso8d$tit2$1@dont-email.me>
 by: Arne Vajhøj - Thu, 26 Jan 2023 02:28 UTC

On 1/25/2023 9:24 PM, Arne Vajhøj wrote:
> On 1/25/2023 8:36 PM, Dave Froble wrote:
>> Perhaps some would not want variants, but I for one have used them
>> many times.
>>
>>          Map (D) Long D1%
>>          Map (D) String D1$=4
>>
>> Now in a MAP statement, whiich is rather similar to a COMMON block,
>> multiple definitions of the MAP statement allows for a similar
>> redefinition of the same memory.  In the above, a longword value is
>> stored in 4 bytes of memory.  The redefinition of the MAP statement
>> allows the same memory to be labeled as a string or a longword.
>>
>> It's been useful to me in the past.
>
> I am not arguing against this.
>
> But in Fortran this should not be done using common blocks but
> via equivalence.
>
>       integer*4 iv
>       character*4 sv
>       equivalence (iv,sv)
>
> It has local scope and is readable.
>
> And if necessary it can be combined with a common block.

I am in the lucky situation to have an example.

https://www.vajhoej.dk/arne/articles/vmsipc.html#wrtshrimg_link

Fortran code:

byte mem(memsiz)
common /msgpsect/mem
character*100 msg(maxmsgs)
equivalence (mem,msg)

Basic code:

map (msgpsect) byte mem(memsiz1)
map (msgpsect) string msg(maxmsgs1) = maxmsgsiz

Arne

Re: VMS Software Q1 '23 Update

<68d2356b-57b7-4e64-813b-6e3f883da714n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26319&group=comp.os.vms#26319

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:622a:4117:b0:3a5:50fa:1a32 with SMTP id cc23-20020a05622a411700b003a550fa1a32mr1597287qtb.11.1674709661217;
Wed, 25 Jan 2023 21:07:41 -0800 (PST)
X-Received: by 2002:a05:6214:3113:b0:534:c05f:6a99 with SMTP id
ks19-20020a056214311300b00534c05f6a99mr1592252qvb.50.1674709661058; Wed, 25
Jan 2023 21:07:41 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 25 Jan 2023 21:07:40 -0800 (PST)
In-Reply-To: <tqso8d$tit2$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=76.76.60.100; posting-account=OjKUgAkAAAAXAqdVEKd-Gc8RltEUx3Xq
NNTP-Posting-Host: 76.76.60.100
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com> <tqp7bm$871q$1@dont-email.me>
<tqpg77$9pjt$1@dont-email.me> <tqpp85$badl$1@dont-email.me>
<tqrm2c$o1tk$1@dont-email.me> <tqrmpk$o1tk$2@dont-email.me>
<tqrrie$p41u$1@dont-email.me> <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me> <9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me> <tqso8d$tit2$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <68d2356b-57b7-4e64-813b-6e3f883da714n@googlegroups.com>
Subject: Re: VMS Software Q1 '23 Update
From: sms.anti...@gmail.com (Steven Schweda)
Injection-Date: Thu, 26 Jan 2023 05:07:41 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 3
 by: Steven Schweda - Thu, 26 Jan 2023 05:07 UTC

> [...] but the right way (IMHO) is to use equivalence.

Exactly what I thought when I read it. (Except that I was young when
I used FORTRAN seriously, so I actually thought "EQUIVALENCE".)

Re: VMS Software Q1 '23 Update

<tqt8o4$138od$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26320&group=comp.os.vms#26320

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 02:06:00 -0500
Organization: A noiseless patient Spider
Lines: 156
Message-ID: <tqt8o4$138od$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me>
<tqso8d$tit2$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 07:05:40 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="15eb5a82358e9e1b09757ffbbbf07b9e";
logging-data="1155853"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19atN8ZpCIDTZtwLj7seMuNuCDSoErtGS0="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:2V1VgvDCiG/UmZKkZJWmdbU/vao=
In-Reply-To: <tqso8d$tit2$1@dont-email.me>
 by: Dave Froble - Thu, 26 Jan 2023 07:06 UTC

On 1/25/2023 9:24 PM, Arne Vajhøj wrote:
> On 1/25/2023 8:36 PM, Dave Froble wrote:
>> On 1/25/2023 6:50 PM, Arne Vajhøj wrote:
>>> On 1/25/2023 5:55 PM, John Reagan wrote:
>>>> Here's a nasty Fortran program where each subroutine initializes and
>>>> reinitializes parts of the
>>>> same common block in a particular order.
>>>>
>>>> subroutine print_common
>>>> common /mypsect/ i1,i2
>>>> integer*4 :: i1,i2
>>>> write (*,10) i1,i2
>>>> 10 format (' ',Z8,' ',Z8)
>>>> return
>>>> end
>>>>
>>>> subroutine update_longwords
>>>> common /mypsect/ i1,i2
>>>> c start with putting hex AAAAAAAA into both longwords
>>>> integer*4 :: i1='AAAAAAAA'X,i2='AAAAAAAA'X
>>>> return
>>>> end
>>>>
>>>> subroutine update_words
>>>> c and update bottom words with BBBB
>>>> common /mypsect/ w1,w2,w3,w4
>>>> integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
>>>> return
>>>> end
>>>>
>>>> subroutine update_bytes
>>>> c and update bottom bytes with CC
>>>> common /mypsect/ b1,b2,b3,b4,b5,b6,b7,b8
>>>> integer*1 :: b1,b2,b3,b4='CC'X,b5,b6,b7,b8='CC'X
>>>> return
>>>> end
>>>>
>>>> program main
>>>> c by now, the two longwords in the common should be
>>>> c CCBBAAAA CCBBAAAA
>>>> call print_common
>>>> end
>>>
>>> That is horrible code IMHO.
>>
>> I find that an interesting comment ...
>>
>> Perhaps it is doing what someone needed it to do ...
>
> I don't think they did for fun.
>
> But I believe there are better ways to do that.
>
>>> Initializing the same common block in multiple subroutines
>>> is not something I would ever do.
>>
>> You've never redefined the data type of some data?
>
>> Consider:
>>
>> Record TLS
>> Variant
>> Case
>> String Rec$=42
>> Case
>> Byte Byte1%
>> Byte VerMajor%
>> Byte VerMinor%
>> Long UnixDate%
>> String Random$=28
>> Long SessionID%
>> Word Cypher%
>> Byte Method%
>> End Variant
>> End Record
>>
>>
>> In this case the Basic RECORD statement allows multiple variants of the same
>> memory, basically allowing different types of variables to be used on the same
>> memory location(s). Useful, and a relatively later addition to the language.
>> Similar to what is called a structure in C and perhaps other languages.
>
> That is really a different thing than initializing the same psect
> multiple times in different places.
>
> Having to overlay different types is a common feature in languages.
> Pascal got the variant case record similar to the Basic code above.
> C got union. In Fortran it can be achieved using common blocks, but
> the right way (IMHO) is to use equivalence.
>
>> Perhaps some would not want variants, but I for one have used them many times.
>>
>> Map (D) Long D1%
>> Map (D) String D1$=4
>>
>> Now in a MAP statement, whiich is rather similar to a COMMON block, multiple
>> definitions of the MAP statement allows for a similar redefinition of the same
>> memory. In the above, a longword value is stored in 4 bytes of memory. The
>> redefinition of the MAP statement allows the same memory to be labeled as a
>> string or a longword.
>>
>> It's been useful to me in the past.
>
> I am not arguing against this.
>
> But in Fortran this should not be done using common blocks but
> via equivalence.
>
> integer*4 iv
> character*4 sv
> equivalence (iv,sv)
>
> It has local scope and is readable.
>
> And if necessary it can be combined with a common block.
>
> In extremely rare cases there may even be a good reason to
> have different definition (different types) in different routines.
> It is difficult to read as there are no indication in the
> individual routine that it has a different definition elsewhere.
> But one never knows what can be required to solve a problem.
>
> But I can not believe there are any cases where I would
> consider it good to static initialize parts of a common
> block in different routines.
>
> Arne
>

I will admit that my normal practice is to have any such declarations in one
place, and include the same definition is each subroutine that uses it. Of
course, if it is modified, one must re-compile all routines that include it.

:-)

I can be a little dense, but I fail to see the problem in John's example. If I
understand it correctly, each routine defines the same PSECT (I believe each
common block has it's own PSECT, a Basic MAP statement I'm rather sure does so)
with a different definition. So what? And yes, it might be confusing to some.

Then again, it's been over 40 years since I did any Fortran.

And that brings this question. What does:

integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X

do?

Does both w1 and w2 get set to BBBB? That is not what the comments indicate?

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: VMS Software Q1 '23 Update

<tqtubd$16nj8$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26322&group=comp.os.vms#26322

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: club...@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 13:14:22 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <tqtubd$16nj8$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me> <tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net> <26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com> <tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me> <tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me> <tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me> <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com> <tqsar7$rhss$1@dont-email.me> <9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com> <tqsf7p$s7a0$1@dont-email.me> <660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com> <tqsivt$srer$1@dont-email.me> <k3e21sF25rU1@mid.individual.net>
Injection-Date: Thu, 26 Jan 2023 13:14:22 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="6154cd9096a581b95734ddf613414550";
logging-data="1269352"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+KgCo9tc7p2YT2744U3nNG6V7CTwU6PWI="
User-Agent: slrn/0.9.8.1 (VMS/Multinet)
Cancel-Lock: sha1:Pnmc2CAa5xvJLmJ25PPPVIyXYJQ=
 by: Simon Clubley - Thu, 26 Jan 2023 13:14 UTC

On 2023-01-25, bill <bill.gunshannon@gmail.com> wrote:
>
> We got a complaint from an "engineer" who claimed the compiler was
> broken because when he compared reals they never equaled each other.
> Prime fixed that one by adding an error message that politely said
> "Don't do that, stupid".
>

Oh, for goodness sake. :-( Not that again. :-(

I am of the opinion that direct testing for equality of floating point
numbers should be disallowed by every language and that people should
be forced to use an alternative where _they_ have to specify the delta
value that 2 numbers should be within before they are considered to be
equal.

Simon.

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.

Re: VMS Software Q1 '23 Update

<tqtuf9$16nj8$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26323&group=comp.os.vms#26323

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: club...@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 13:16:26 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <tqtuf9$16nj8$2@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me> <tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net> <26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com> <tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me> <tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me> <tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me> <092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com> <tqsar7$rhss$1@dont-email.me> <9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com> <tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me> <tqso8d$tit2$1@dont-email.me> <68d2356b-57b7-4e64-813b-6e3f883da714n@googlegroups.com>
Injection-Date: Thu, 26 Jan 2023 13:16:26 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="6154cd9096a581b95734ddf613414550";
logging-data="1269352"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+5e4v+m/lsDr8sbjIRKGQrb9lSj29L3h8="
User-Agent: slrn/0.9.8.1 (VMS/Multinet)
Cancel-Lock: sha1:lXvxrnlF+4FtruqGXOp2/HrZzpI=
 by: Simon Clubley - Thu, 26 Jan 2023 13:16 UTC

On 2023-01-26, Steven Schweda <sms.antinode@gmail.com> wrote:
>> [...] but the right way (IMHO) is to use equivalence.
>
> Exactly what I thought when I read it. (Except that I was young when
> I used FORTRAN seriously, so I actually thought "EQUIVALENCE".)

Of course, these days, we are no longer forced to use ASR-33 keyboards. :-)

Simon.

PS: $ set response/mode=good_natured :-)

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.

Re: VMS Software Q1 '23 Update

<tqu0v2$1724s$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26325&group=comp.os.vms#26325

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 08:58:56 -0500
Organization: A noiseless patient Spider
Lines: 78
Message-ID: <tqu0v2$1724s$2@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me>
<tqso8d$tit2$1@dont-email.me> <tqt8o4$138od$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 13:58:58 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="1280156"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Q3h9tQTon+QfDID6+Xy8uytizek8OKzU="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:beAZXhK3r4sGxZprkzaxZzIPfdk=
Content-Language: en-US
In-Reply-To: <tqt8o4$138od$1@dont-email.me>
 by: Arne Vajhøj - Thu, 26 Jan 2023 13:58 UTC

On 1/26/2023 2:06 AM, Dave Froble wrote:
> On 1/25/2023 9:24 PM, Arne Vajhøj wrote:
>> On 1/25/2023 8:36 PM, Dave Froble wrote:
>>> Now in a MAP statement, whiich is rather similar to a COMMON block,
>>> multiple
>>> definitions of the MAP statement allows for a similar redefinition of
>>> the same
>>> memory.  In the above, a longword value is stored in 4 bytes of
>>> memory.  The
>>> redefinition of the MAP statement allows the same memory to be
>>> labeled as a
>>> string or a longword.
>>>
>>> It's been useful to me in the past.
>>
>> I am not arguing against this.
>>
>> But in Fortran this should not be done using common blocks but
>> via equivalence.
>>
>>       integer*4 iv
>>       character*4 sv
>>       equivalence (iv,sv)
>>
>> It has local scope and is readable.
>>
>> And if necessary it can be combined with a common block.
>>
>> In extremely rare cases there may even be a good reason to
>> have different definition (different types) in different routines.
>> It is difficult to read as there are no indication in the
>> individual routine that it has a different definition elsewhere.
>> But one never knows what can be required to solve a problem.
>>
>> But I can not believe there are any cases where I would
>> consider it good to static initialize parts of a common
>> block in different routines.
>
> I will admit that my normal practice is to have any such declarations in
> one place, and include the same definition is each subroutine that uses
> it.  Of course, if it is modified, one must re-compile all routines that
> include it.
>
> :-)

Yep.

> I can be a little dense, but I fail to see the problem in John's
> example.  If I understand it correctly, each routine defines the same
> PSECT (I believe each common block has it's own PSECT, a Basic MAP
> statement I'm rather sure does so) with a different definition.  So
> what?  And yes, it might be confusing to some.

I think there are 3 problems:
A) different definition of the common block in different routines
B) initialization of the the data in multiple routines
C) A and B combined in such a way that the initialization partly overlaps

which I consider bad, very bad and disaster.

> And that brings this question.  What does:
>
> integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
>
> do?
>
> Does both w1 and w2 get set to BBBB?  That is not what the comments
> indicate?

I think it only initialize w2 (and w4).

I am so old that I use data statement for initialization.

:-)

Arne

Re: VMS Software Q1 '23 Update

<tqu13d$1724s$3@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26326&group=comp.os.vms#26326

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 09:01:15 -0500
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <tqu13d$1724s$3@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
<tqsivt$srer$1@dont-email.me> <k3e21sF25rU1@mid.individual.net>
<tqtubd$16nj8$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 26 Jan 2023 14:01:17 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="1280156"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX187zNFFveq2PHhEXpArq/Kz6sTscFKFL0Q="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:a2Nmk3AwJ2DhpzqVTzSnwAp9Iso=
Content-Language: en-US
In-Reply-To: <tqtubd$16nj8$1@dont-email.me>
 by: Arne Vajhøj - Thu, 26 Jan 2023 14:01 UTC

On 1/26/2023 8:14 AM, Simon Clubley wrote:
> On 2023-01-25, bill <bill.gunshannon@gmail.com> wrote:
>> We got a complaint from an "engineer" who claimed the compiler was
>> broken because when he compared reals they never equaled each other.
>> Prime fixed that one by adding an error message that politely said
>> "Don't do that, stupid".
>
> Oh, for goodness sake. :-( Not that again. :-(
>
> I am of the opinion that direct testing for equality of floating point
> numbers should be disallowed by every language and that people should
> be forced to use an alternative where _they_ have to specify the delta
> value that 2 numbers should be within before they are considered to be
> equal.

That sounds pretty tempting.

Note that most unit frameworks today require a delta
parameter for floating point "areequals" tests.

Arne

Re: VMS Software Q1 '23 Update

<tqu2ul$17ik2$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26327&group=comp.os.vms#26327

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 09:32:51 -0500
Organization: A noiseless patient Spider
Lines: 82
Message-ID: <tqu2ul$17ik2$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me>
<tqso8d$tit2$1@dont-email.me> <tqt8o4$138od$1@dont-email.me>
<tqu0v2$1724s$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 14:32:54 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="1297026"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/NvUzuWfXDQYk96/ibDsNs+DHtcsrN/u8="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:fqzM3NfYZHjAyNP9kLBRvth0Udg=
Content-Language: en-US
In-Reply-To: <tqu0v2$1724s$2@dont-email.me>
 by: Arne Vajhøj - Thu, 26 Jan 2023 14:32 UTC

On 1/26/2023 8:58 AM, Arne Vajhøj wrote:
> On 1/26/2023 2:06 AM, Dave Froble wrote:
>> I can be a little dense, but I fail to see the problem in John's
>> example.  If I understand it correctly, each routine defines the same
>> PSECT (I believe each common block has it's own PSECT, a Basic MAP
>> statement I'm rather sure does so) with a different definition.  So
>> what?  And yes, it might be confusing to some.
>
> I think there are 3 problems:
> A) different definition of the common block in different routines
> B) initialization of the the data in multiple routines
> C) A and B combined in such a way that the initialization partly overlaps
>
> which I consider bad, very bad and disaster.
>
>> And that brings this question.  What does:
>>
>> integer*2 :: w1,w2='BBBB'X,w3,w4='BBBB'X
>>
>> do?
>>
>> Does both w1 and w2 get set to BBBB?  That is not what the comments
>> indicate?
>
> I think it only initialize w2 (and w4).
>
> I am so old that I use data statement for initialization.
>
> :-)

I do not think the exact same problem can be recreated in
Basic (as far as I can read the documentation then Basic
does not allow static initialization in map's).

But to show something in Basic it is easy to do with
assignment:

program p

map (d) long lw1, long lw2

external sub s1, s2

lw1 = 1
lw2 = 2

call s1
call s2

print lw1, lw2

end program
! sub s1

map (d) word w1, word w2, word w3, word w4

w2 = 1
w4 = 2

end sub
! sub s2

map (d) byte b1, byte b2, byte b3, byte b4, byte b5, byte b6, byte b7,
byte b8

b4 = 1
b8 = 2

end sub

$ bas p
$ lin p
$ r p
16842753 33685506

Arne

Re: VMS Software Q1 '23 Update

<tquavs$18vru$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26330&group=comp.os.vms#26330

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 11:50:23 -0500
Organization: A noiseless patient Spider
Lines: 28
Message-ID: <tquavs$18vru$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
<tqsivt$srer$1@dont-email.me> <k3e21sF25rU1@mid.individual.net>
<tqtubd$16nj8$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 26 Jan 2023 16:50:04 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="15eb5a82358e9e1b09757ffbbbf07b9e";
logging-data="1343358"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19LOMVqQCPfvYoT+tTGmutSbKlQ9lEy0tI="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:6jBe3vjTK8p5cPnFbycQg3vjjx4=
In-Reply-To: <tqtubd$16nj8$1@dont-email.me>
 by: Dave Froble - Thu, 26 Jan 2023 16:50 UTC

On 1/26/2023 8:14 AM, Simon Clubley wrote:
> On 2023-01-25, bill <bill.gunshannon@gmail.com> wrote:
>>
>> We got a complaint from an "engineer" who claimed the compiler was
>> broken because when he compared reals they never equaled each other.
>> Prime fixed that one by adding an error message that politely said
>> "Don't do that, stupid".
>>
>
> Oh, for goodness sake. :-( Not that again. :-(
>
> I am of the opinion that direct testing for equality of floating point
> numbers should be disallowed by every language and that people should
> be forced to use an alternative where _they_ have to specify the delta
> value that 2 numbers should be within before they are considered to be
> equal.
>
> Simon.
>

Well, "have to" or not, that is the only method that works ...

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: VMS Software Q1 '23 Update

<9f8f3187a0039369ecb14b934c0a399dce41fe28.camel@munted.eu>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26331&group=comp.os.vms#26331

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!palladium.buellnet!not-for-mail
From: alex.bu...@munted.eu (Single Stage to Orbit)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 17:05:48 +0000
Organization: One very high maintenance cat
Message-ID: <9f8f3187a0039369ecb14b934c0a399dce41fe28.camel@munted.eu>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
<tqsivt$srer$1@dont-email.me> <k3e21sF25rU1@mid.individual.net>
<tqtubd$16nj8$1@dont-email.me> <tquavs$18vru$1@dont-email.me>
Reply-To: alex.buell@munted.eu
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Info: solani.org;
logging-data="106351"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Evolution 3.46.2
Cancel-Lock: sha1:qqoKfnH2JsDTQr3n1Y/mVgO9nh8=
X-User-ID: eJwFwYcBwDAIA7CXyrAJ5ySM/0+oBKOwwgk6FksvfZNJAnWm3VpFJSxGDPiwCZ7Je/MGeaJ6s+11PY0FfjfyFSo=
In-Reply-To: <tquavs$18vru$1@dont-email.me>
 by: Single Stage to Orbi - Thu, 26 Jan 2023 17:05 UTC

On Thu, 2023-01-26 at 11:50 -0500, Dave Froble wrote:
>

> > I am of the opinion that direct testing for equality of floating
> > point numbers should be disallowed by every language and that
> > people should be forced to use an alternative where _they_ have to
> > specify the delta value that 2 numbers should be within before they
> > are considered to be equal.
> >
> > Simon.
> >
>
> Well, "have to" or not, that is the only method that works ...

Or use rounding: IF Math.Round(x,2) = Math.Round(x,2) THEN ..

--
Tactical Nuclear Kittens

Re: VMS Software Q1 '23 Update

<tquhac$19r40$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26332&group=comp.os.vms#26332

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 13:38:03 -0500
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <tquhac$19r40$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me>
<660be03d-246e-423c-a2b3-36c54d3759a4n@googlegroups.com>
<tqsivt$srer$1@dont-email.me> <k3e21sF25rU1@mid.individual.net>
<tqtubd$16nj8$1@dont-email.me> <tquavs$18vru$1@dont-email.me>
<9f8f3187a0039369ecb14b934c0a399dce41fe28.camel@munted.eu>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 26 Jan 2023 18:38:04 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="1371264"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/a7L5Of7Vx2fglGe07arRINv5g/fiD6hY="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:57KC5AclnMV6pIt8e8F7D/Zuh3o=
In-Reply-To: <9f8f3187a0039369ecb14b934c0a399dce41fe28.camel@munted.eu>
Content-Language: en-US
 by: Arne Vajhøj - Thu, 26 Jan 2023 18:38 UTC

On 1/26/2023 12:05 PM, Single Stage to Orbit wrote:
> On Thu, 2023-01-26 at 11:50 -0500, Dave Froble wrote:
>>> I am of the opinion that direct testing for equality of floating
>>> point numbers should be disallowed by every language and that
>>> people should be forced to use an alternative where _they_ have to
>>> specify the delta value that 2 numbers should be within before they
>>> are considered to be equal.
>>
>> Well, "have to" or not, that is the only method that works ...
>
> Or use rounding: IF Math.Round(x,2) = Math.Round(x,2) THEN ..

VB.NET?

IF Math.Round(x,2) = Math.Round(y,2) THEN

and:

IF Math.Abs(x - y) < 0.01 THEN

are not fully equivalent.

Arne

Re: VMS Software Q1 '23 Update

<tquuop$1bq64$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=26333&group=comp.os.vms#26333

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: VMS Software Q1 '23 Update
Date: Thu, 26 Jan 2023 17:27:36 -0500
Organization: A noiseless patient Spider
Lines: 91
Message-ID: <tquuop$1bq64$1@dont-email.me>
References: <tq8dgc$r4km$1@dont-email.me> <tq8r16$tc7h$2@dont-email.me>
<tq9087$r4km$2@dont-email.me> <k2qh00Fdet2U1@mid.individual.net>
<26ed14b7-db40-49b1-bc1d-841c81c4877dn@googlegroups.com>
<tqp7bm$871q$1@dont-email.me> <tqpg77$9pjt$1@dont-email.me>
<tqpp85$badl$1@dont-email.me> <tqrm2c$o1tk$1@dont-email.me>
<tqrmpk$o1tk$2@dont-email.me> <tqrrie$p41u$1@dont-email.me>
<092a42c6-b610-4dd8-8e94-68647c279c7bn@googlegroups.com>
<tqsar7$rhss$1@dont-email.me>
<9e3d2b85-b0b8-47c7-9f73-fda3a10c534bn@googlegroups.com>
<tqsf7p$s7a0$1@dont-email.me> <tqsldr$t9n1$1@dont-email.me>
<tqso8d$tit2$1@dont-email.me> <tqt8o4$138od$1@dont-email.me>
<tqu0v2$1724s$2@dont-email.me> <tqu2ul$17ik2$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 26 Jan 2023 22:27:37 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="8aad2a058c5f4431eb30e0b47888fc1d";
logging-data="1435844"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+HYBs8MrcKjiEyH8RAre2DVmPnnsaGLsI="
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.7.0
Cancel-Lock: sha1:EHrTmMKM7jEAPT9LeQV1MCDi8x4=
In-Reply-To: <tqu2ul$17ik2$1@dont-email.me>
Content-Language: en-US
 by: Arne Vajhøj - Thu, 26 Jan 2023 22:27 UTC

On 1/26/2023 9:32 AM, Arne Vajhøj wrote:
> I do not think the exact same problem can be recreated in
> Basic (as far as I can read the documentation then Basic
> does not allow static initialization in map's).
>
> But to show something in Basic it is easy to do with
> assignment:
>
> program p
>
> map (d) long lw1, long lw2
>
> external sub s1, s2
>
> lw1 = 1
> lw2 = 2
>
> call s1
> call s2
>
> print lw1, lw2
>
> end program
> !
> sub s1
>
> map (d) word w1, word w2, word w3, word w4
>
> w2 = 1
> w4 = 2
>
> end sub
> !
> sub s2
>
> map (d) byte b1, byte b2, byte b3, byte b4, byte b5, byte b6, byte b7,
> byte b8
>
> b4 = 1
> b8 = 2
>
> end sub
>
> $ bas p
> $ lin p
> $ r p
>  16842753      33685506

The Fortran version with static initialization (using data statements!)
and no calls:

$ type p2x.for
program p2
integer*4 lw1,lw2
common /d/lw1,lw2
data lw1/1/,lw2/2/
write(*,*) lw1,lw2
end
$ for p2x
$ type s1.for
subroutine s1
integer*2 w1,w2,w3,w4
common /d/w1,w2,w3,w4
data w2/1/,w4/2/
end
$ for s1
$ type s2.for
subroutine s2
integer*1 b1,b2,b3,b4,b5,b6,b7,b8
common /d/b1,b2,b3,b4,b5,b6,b7,b8
data b4/1/,b8/2/
end
$ for s2
$ link p2x + s1 + s2
$ run p2x
16842753 33685506
$ link p2x + s2 + s1
$ run p2x
65537 131074

(tested on VMS Alpha)

The order of the OBJ files in the link command change the output.

Yuck.

Arne

Pages:123456
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor