From cmhanson at eschatologist.net  Mon Sep  2 12:21:39 2024
From: cmhanson at eschatologist.net (Chris Hanson)
Date: Sun, 1 Sep 2024 19:21:39 -0700
Subject: [COFF] More LCM fallout
In-Reply-To: <20240830220904.36A4692CF4CF@ary.qy>
References: <20240713131716.A741818C075@mercury.lcs.mit.edu>
 <21DB8095-4D00-42ED-891E-CA3BDBE5CB23@eschatologist.net>
 <6f445be5-cde8-4f22-9b59-a43d3429a495@insinga.com>
 <7w1q38wym6.fsf@junk.nocrew.org>
 <387FE153-E84C-4345-9F70-0682801018BA@eschatologist.net>
 <929aa508-4f6b-4019-8393-35f1e3f1611d@halwitz.org>
 <20240830220904.36A4692CF4CF@ary.qy>
Message-ID: <8977E507-5CB1-48B5-BBFF-050AA2AFAB94@eschatologist.net>

On Aug 30, 2024, at 3:09 PM, John Levine <johnl at taugh.com> wrote:
> 
> It appears that Dan Halbert <halbert at halwitz.org> said:
>> Late followup in this thread: here is the Christie's auction for items 
>> being auctioned off:
>> https://onlineonly.christies.com/s/firsts-history-computing-paul-g-allen-collection/lots/3726
> 
> Many of the bids are underwhelming.  KA-10 for $300, KI-10 for $400, KS-10 for $400.

Underwhelming, or reasonable?

It’s a serious pain to get a Christie’s account, plus fees & tax add about 25% on top of a bid. The only reason eBay prices for old hardware are so high right now has been a bunch of YouTubers chasing clout and treating old hardware like a Funko Pop to put on a shelf to show how cool you are.

> Somebody wants the IBM 7090, bid $11,000 but still well below the $40-$60K estimate,
> and somebody really wants the CDC 6500, bid $160,000.
> 
> All plus packing and shipping from Seattle, of course.

It doesn’t help that the kinds of people “helping” Christie’s put together their estimates are YouTubers chasing clout.

  -- Chris


From johnl at taugh.com  Mon Sep  2 19:45:23 2024
From: johnl at taugh.com (John R Levine)
Date: 2 Sep 2024 11:45:23 +0200
Subject: [COFF] More LCM fallout
In-Reply-To: <8977E507-5CB1-48B5-BBFF-050AA2AFAB94@eschatologist.net>
References: <20240713131716.A741818C075@mercury.lcs.mit.edu>
 <21DB8095-4D00-42ED-891E-CA3BDBE5CB23@eschatologist.net>
 <6f445be5-cde8-4f22-9b59-a43d3429a495@insinga.com>
 <7w1q38wym6.fsf@junk.nocrew.org>
 <387FE153-E84C-4345-9F70-0682801018BA@eschatologist.net>
 <929aa508-4f6b-4019-8393-35f1e3f1611d@halwitz.org>
 <20240830220904.36A4692CF4CF@ary.qy>
 <8977E507-5CB1-48B5-BBFF-050AA2AFAB94@eschatologist.net>
Message-ID: <38553ca3-6cf3-858e-5dbc-14e06bb5158a@taugh.com>

On Sun, 1 Sep 2024, Chris Hanson wrote:
>> It appears that Dan Halbert <halbert at halwitz.org> said:
>>> Late followup in this thread: here is the Christie's auction for items
>>> being auctioned off:
>>> https://onlineonly.christies.com/s/firsts-history-computing-paul-g-allen-collection/lots/3726
>>
>> Many of the bids are underwhelming.  KA-10 for $300, KI-10 for $400, KS-10 for $400.
>
> Underwhelming, or reasonable?

Both, I would say.  It's hard to believe those lowball bids are serious 
since it would cost a fortune to pack and move those machines.  As the 
small print says, you have to disassemble them and it is not easy to take 
them apart in a way that gives you any hope of putting them back together 
later.

Regards,
John Levine, johnl at taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly

From mike.ab3ap at gmail.com  Thu Sep  5 08:25:10 2024
From: mike.ab3ap at gmail.com (Mike Markowski)
Date: Wed, 4 Sep 2024 18:25:10 -0400
Subject: [COFF] Sun mug
Message-ID: <f0752e21-cb4d-48a3-9338-d51d23eb0b06@gmail.com>

I'm cleaning out my desk as retirement looms (a few more months) and 
found my Sun coffee mug!

https://udel.edu/~mm/sun/

The back of the mug says such good things, yet...

Mike Markowski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240904/6986ad63/attachment.htm>

From dave at horsfall.org  Fri Sep  6 11:11:43 2024
From: dave at horsfall.org (Dave Horsfall)
Date: Fri, 6 Sep 2024 11:11:43 +1000 (AEST)
Subject: [COFF] Open Day at UNSW 7th Sep
Message-ID: <1e2350c6-eedd-c7b9-18c5-cbe744e73253@horsfall.org>

That's where it all began for Unix in Oz (the Dept of Power Systems paid 
for the Ed5 tape, as I recall).  I'm told that the campus has changed so 
much it's now unrecognisable...

    https://www.openday.unsw.edu.au/planner 

-- Dave

From coff at tuhs.org  Mon Sep  9 03:39:12 2024
From: coff at tuhs.org (Grant Taylor via COFF)
Date: Sun, 8 Sep 2024 12:39:12 -0500
Subject: [COFF] More LCM fallout
In-Reply-To: <38553ca3-6cf3-858e-5dbc-14e06bb5158a@taugh.com>
References: <20240713131716.A741818C075@mercury.lcs.mit.edu>
 <21DB8095-4D00-42ED-891E-CA3BDBE5CB23@eschatologist.net>
 <6f445be5-cde8-4f22-9b59-a43d3429a495@insinga.com>
 <7w1q38wym6.fsf@junk.nocrew.org>
 <387FE153-E84C-4345-9F70-0682801018BA@eschatologist.net>
 <929aa508-4f6b-4019-8393-35f1e3f1611d@halwitz.org>
 <20240830220904.36A4692CF4CF@ary.qy>
 <8977E507-5CB1-48B5-BBFF-050AA2AFAB94@eschatologist.net>
 <38553ca3-6cf3-858e-5dbc-14e06bb5158a@taugh.com>
Message-ID: <e2990bfb-1f91-427f-a621-15cd3f082b56@spamtrap.tnetconsulting.net>

On 9/2/24 04:45, John R Levine wrote:
> Both, I would say.  It's hard to believe those lowball bids are serious 
> since it would cost a fortune to pack and move those machines.  As the 
> small print says, you have to disassemble them and it is not easy to 
> take them apart in a way that gives you any hope of putting them back 
> together later.

That seems to be predicated on the desire to take them part in a way 
that gives you any hope of putting them back together.

Is there any reason to think that scrappers wouldn't toss a lo-ball bid?



-- 
Grant. . . .
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4033 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240908/761bd2aa/attachment-0001.p7s>

From coff at tuhs.org  Thu Sep 12 08:37:56 2024
From: coff at tuhs.org (Warren Toomey via COFF)
Date: Thu, 12 Sep 2024 08:37:56 +1000
Subject: [COFF] Fwd: History tract during the next IWMP9 in Paris next May
Message-ID: <ZuIbxNEu45geSrF1@minnie.tuhs.org>

Hi all, Edouard asked me to pass this e-mail on to both TUHS and COFF lists.

Cheers, Warren

----- Forwarded message from Edouard Klein <edouardklein at gmail.com> -----

  Subject: History tract during the next IWMP9 in Paris next May
  Date: Thu, 29 Aug 2024 22:46:30 +0200 (1 week, 4 days, 19 hours ago)

Dear Unix history enthusiasts,

The 11th International Workshop on Plan 9 will be held in Paris on May
22-24 2025.

One of the focus area this year will be Plan 9's history and its
influence on later computer science and industry trends.

The history team at the CNAM (where the conference will be held) has
agreed to help us prepare for the event and stands ready to record oral
histories, or any other format that would make the participants happy.

They had organized in 2017 a "colloque" at which Clem spoke (and I
listened somewhere in the audience) on UNIX:
https://technique-societe.cnam.fr/colloque-international-unix-en-europe-entre-innovation-diffusion-et-heritage-913008.kjsp

I will keep the list posted as our efforts pan out, but I thought I'd
get the word out as soon as possible.

I you have historical resources on Plan 9 or Inferno, or are reminded of
any interesting tidbits, you can also share them here, as this list is
already recognized by historians as a legitimate source.

The program committee members, many (if not all) of whom roam this very
list, would welcome any proposal or contributions in this area :)

The CfP is at:
http://iwp9.org/


Looking forward to read what you care to share, or to seeing you in
person in Paris,

Cheers,

Edouard.

----- End forwarded message -----

From douglas.mcilroy at dartmouth.edu  Fri Sep 13 00:04:44 2024
From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy)
Date: Thu, 12 Sep 2024 10:04:44 -0400
Subject: [COFF] History tract during the next IWMP9 in Paris next May
Message-ID: <CAKH6PiUt5ZA2arxxtk69CiORZfRPGgCbbrOt25BYNFYwuH21Xw@mail.gmail.com>

> I you have historical resources on Plan 9 or Inferno, or are reminded of
> any interesting tidbits, you can also share them here, as this list is
> already recognized by historians as a legitimate source.

Can someone tell me where the original "here" of the quoted message is?

Thanks,
Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240912/1a06f95d/attachment.htm>

From paul.winalski at gmail.com  Fri Sep 13 00:11:51 2024
From: paul.winalski at gmail.com (Paul Winalski)
Date: Thu, 12 Sep 2024 10:11:51 -0400
Subject: [COFF] History tract during the next IWMP9 in Paris next May
In-Reply-To: <CAKH6PiUt5ZA2arxxtk69CiORZfRPGgCbbrOt25BYNFYwuH21Xw@mail.gmail.com>
References: <CAKH6PiUt5ZA2arxxtk69CiORZfRPGgCbbrOt25BYNFYwuH21Xw@mail.gmail.com>
Message-ID: <CABH=_VRw=T+pDuUaaKOwLu-rjiB+Ec1VdeBGHB5wMH4i6KaReg@mail.gmail.com>

On Thu, Sep 12, 2024 at 10:05 AM Douglas McIlroy <
douglas.mcilroy at dartmouth.edu> wrote:

> > I you have historical resources on Plan 9 or Inferno, or are reminded of
> > any interesting tidbits, you can also share them here, as this list is
> > already recognized by historians as a legitimate source.
>
> I think "here" == TUHS.  I received the original on TUHS with a [TUHS]
prefix on the subject line.

-Paul W.

> Can someone tell me where the original "here" of the quoted message is?
>
> Thanks,
> Doug
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240912/7ba934d6/attachment.htm>

From edouardklein at gmail.com  Fri Sep 13 00:32:54 2024
From: edouardklein at gmail.com (Edouard Klein)
Date: Thu, 12 Sep 2024 16:32:54 +0200
Subject: [COFF] History tract during the next IWMP9 in Paris next May
In-Reply-To: <CAKH6PiUt5ZA2arxxtk69CiORZfRPGgCbbrOt25BYNFYwuH21Xw@mail.gmail.com>
References: <CAKH6PiUt5ZA2arxxtk69CiORZfRPGgCbbrOt25BYNFYwuH21Xw@mail.gmail.com>
Message-ID: <8A54FF0A-296F-4839-B6AC-42371909B9A7@gmail.com>

Hi Doug, 

By "here" I meant the list itself :) TUHS is actually read by historians. I don't know about COFF, though.

Sorry for the awkward formulation.

Btw, thank you warren for letting the message through !

Cheers

Edouard.



Le 12 septembre 2024 16:04:44 GMT+02:00, Douglas McIlroy <douglas.mcilroy at dartmouth.edu> a écrit :
>> I you have historical resources on Plan 9 or Inferno, or are reminded of
>> any interesting tidbits, you can also share them here, as this list is
>> already recognized by historians as a legitimate source.
>
>Can someone tell me where the original "here" of the quoted message is?
>
>Thanks,
>Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240912/5b279723/attachment.htm>

From athornton at gmail.com  Mon Sep 16 01:08:35 2024
From: athornton at gmail.com (Adam Thornton)
Date: Sun, 15 Sep 2024 08:08:35 -0700
Subject: [COFF] History tract during the next IWMP9 in Paris next May
In-Reply-To: <CABH=_VRw=T+pDuUaaKOwLu-rjiB+Ec1VdeBGHB5wMH4i6KaReg@mail.gmail.com>
References: <CAKH6PiUt5ZA2arxxtk69CiORZfRPGgCbbrOt25BYNFYwuH21Xw@mail.gmail.com>
 <CABH=_VRw=T+pDuUaaKOwLu-rjiB+Ec1VdeBGHB5wMH4i6KaReg@mail.gmail.com>
Message-ID: <CAP2nic1DX1MK7WoFKjOsGhCubStAkiQvg5WFQk_V+y0Sns=3DA@mail.gmail.com>

I would be shocked if those people in the history of computing who read
TUHS don't also read COFF.

Speaking as a failed historian and person who prefers
Unix-and-unix-derivatives to other computer operating systems, anyway.

Adam

On Fri, Sep 13, 2024 at 2:51 PM Paul Winalski <paul.winalski at gmail.com>
wrote:

> On Thu, Sep 12, 2024 at 10:05 AM Douglas McIlroy <
> douglas.mcilroy at dartmouth.edu> wrote:
>
>> > I you have historical resources on Plan 9 or Inferno, or are reminded of
>> > any interesting tidbits, you can also share them here, as this list is
>> > already recognized by historians as a legitimate source.
>>
>> I think "here" == TUHS.  I received the original on TUHS with a [TUHS]
> prefix on the subject line.
>
> -Paul W.
>
>> Can someone tell me where the original "here" of the quoted message is?
>>
>> Thanks,
>> Doug
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240915/12fe7ae5/attachment.htm>

From stuff at riddermarkfarm.ca  Sat Sep 21 01:56:16 2024
From: stuff at riddermarkfarm.ca (Stuff Received)
Date: Fri, 20 Sep 2024 11:56:16 -0400
Subject: [COFF] [TUHS] Re: Maximum Array Sizes in 16 bit C
In-Reply-To: <11d46ab4-b90c-83fe-131a-ee399eebf342@horsfall.org>
References: <CAKH6PiWvuxfa_ek=L=n=mgovFk_ms37u6F2N1qcMLs6RXLRWvA@mail.gmail.com>
 <CAEdTPBfPcmZybb0CVLxhzB-nLTQb3aohWV-o_8ZqQJXmUc4yPA@mail.gmail.com>
 <CAFH29to4_DFdx=U=ZRVY_HE0YGR8tw00Ya4PJhLGR4Z1UMF6_g@mail.gmail.com>
 <CABH=_VR6=wJdgCLArHLd8q3N+BGj=5m16X4WBkB+o5XksbSsbw@mail.gmail.com>
 <11d46ab4-b90c-83fe-131a-ee399eebf342@horsfall.org>
Message-ID: <d6386cb3-f8ec-bd17-9d0a-e7f5272dd12b@riddermarkfarm.ca>

Moved to COFF.

On 2024-09-20 11:07, Dave Horsfall wrote (in part):
> 
> Giggle...  In a device driver I wrote for V6, I used the expression
> 
>      "0123"[n]
> 
> and the two programmers whom I thought were better than me had to ask me
> what it did...
> 
> -- Dave, brought up on PDP-11 Unix[*]
> 
> [*]
> I still remember the days of BOS/PICK/etc, and I staked my career on Unix.

Working on embedded systems, we often used constructs such as a[-4] to 
either read or modify stuff on the stack (for that particular 
compiler+processor only).

S.


From coff at tuhs.org  Sat Sep 21 03:15:28 2024
From: coff at tuhs.org (segaloco via COFF)
Date: Fri, 20 Sep 2024 17:15:28 +0000
Subject: [COFF] [TUHS] Re: Maximum Array Sizes in 16 bit C
In-Reply-To: <d6386cb3-f8ec-bd17-9d0a-e7f5272dd12b@riddermarkfarm.ca>
References: <CAKH6PiWvuxfa_ek=L=n=mgovFk_ms37u6F2N1qcMLs6RXLRWvA@mail.gmail.com>
 <CAEdTPBfPcmZybb0CVLxhzB-nLTQb3aohWV-o_8ZqQJXmUc4yPA@mail.gmail.com>
 <CAFH29to4_DFdx=U=ZRVY_HE0YGR8tw00Ya4PJhLGR4Z1UMF6_g@mail.gmail.com>
 <CABH=_VR6=wJdgCLArHLd8q3N+BGj=5m16X4WBkB+o5XksbSsbw@mail.gmail.com>
 <11d46ab4-b90c-83fe-131a-ee399eebf342@horsfall.org>
 <d6386cb3-f8ec-bd17-9d0a-e7f5272dd12b@riddermarkfarm.ca>
Message-ID: <en7DrX6AXQ9tqrVNFcVARKQD-LdjDhr6fJvinzLM6edrRMMSL-hm8wkxZBTHLAwnnObBZY9J6PTn4PA0pKWIo2pNvheEy1g03GmKt4aRvR8=@protonmail.com>

On Friday, September 20th, 2024 at 8:56 AM, Stuff Received <stuff at riddermarkfarm.ca> wrote:

> Moved to COFF.
> 
> On 2024-09-20 11:07, Dave Horsfall wrote (in part):
> 
> > Giggle... In a device driver I wrote for V6, I used the expression
> > 
> > "0123"[n]
> > 
> > and the two programmers whom I thought were better than me had to ask me
> > what it did...
> > 
> > -- Dave, brought up on PDP-11 Unix[*]
> > 
> > [*]
> > I still remember the days of BOS/PICK/etc, and I staked my career on Unix.
> 
> 
> Working on embedded systems, we often used constructs such as a[-4] to
> either read or modify stuff on the stack (for that particular
> compiler+processor only).
> 
> S.

My takeaway on out of bounds array access is you're taking the wheel in your own hands WRT the memory characteristics of your application.  If you're using some pointer to the middle of a known memory region (e.g. I/O registers) then you're fine stepping a subscript out of bounds in either direction.  If you're making assumptions about how compiler and linker <xyz> are going to map C abstractions into RAM/stack...then you better be prepared for a compiler author to have a different mapping plan in mind.  As John Mashey put it, paraphrasing, C doesn't require you to agonize over all the details of the machine, but it also allows you to get at many of those details if you so choose.

- Matt G.

From douglas.mcilroy at dartmouth.edu  Sat Sep 21 10:22:05 2024
From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy)
Date: Fri, 20 Sep 2024 20:22:05 -0400
Subject: [COFF] [TUHS] Maximum Array Sizes in 16 bit C
Message-ID: <CAKH6PiU4rqt1npr8eXcDAZQHvXq+RZauDGzLmG2hM+gnTEQwOA@mail.gmail.com>

Moved to Coff, because it's about programming style, not history.

> Perhaps I'm missing something? Clever arithmetic in the index
> calculation aside, this is semantically different than using an actual
> negative integer to index into an array? Moreover, if the intent is to
> start the sequence with 0, why set `fib(0)` to 1? How is this
> substantially different from the usual way of writing this:

I said the Fibonacci example was silly. Maybe you'll be more convinced by
the binomial-coefficient program below.

The array of interest is fib. base is simply scaffolding and doesn't appear
in the working code. You won't find the ith Fibonacci in base[i]; it's in
fib(i). But fib(-1) exists. What's important is that the C convention of
array indexes beginning at 0 has been circumvented.

I could be accused of subterfuge in depending on the semantics of static
storage to initialize fib(-1) to zero. Subterfuge or not, it's customary C
usage. The binomial-coefficient program relies on "out-of-bounds" zeros
abutting two sides of a triangle.

int base[N][N+2];
#define binom(n,i) base[n][(i)+1]

void fill() {
    binom(0,0) = 1;
    for(n=1; n<N; n++)
for(i=0; i<=n; i++)
            binom(n,i) = binom(n-1,i) + binom(n,i-1);
}

I think the offset algorithm above looks better than the more typical one
below.
The two programs happen to have identical character counts.

int binom[N][N+1];

void fill() {
    for(n=0; n<N; n++) {
        binom[n][0] = 1;
for(i=1; i<n; i++)
            binom[n][i] = binom[n-1][i] + binom[n][i-1];
binom[n][n] = 1;
    }
}

Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240920/d0733a9b/attachment.htm>

From douglas.mcilroy at dartmouth.edu  Sun Sep 22 00:37:43 2024
From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy)
Date: Sat, 21 Sep 2024 10:37:43 -0400
Subject: [COFF] [TUHS] Maximum Array Sizes in 16 bit C
Message-ID: <CAKH6PiX-tZHO3uba6g15-gQhYJRyfp5ysGQ0tYxa-5U1Wm2aGg@mail.gmail.com>

Mea culpa.

I thought I could offer a simple example, but my binomial-coefficient
program is wrong, and loses its force when corrected. For a convincing
example, see the program in
    https://digitalcommons.dartmouth.edu/cs_tr/385/
Unfortunately you have to read a couple of pages of explanation to see what
this program is up to. It's a fun problem, though.

Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240921/47ef8047/attachment.htm>

From ralph at inputplus.co.uk  Mon Sep 23 22:12:21 2024
From: ralph at inputplus.co.uk (Ralph Corderoy)
Date: Mon, 23 Sep 2024 13:12:21 +0100
Subject: [COFF] Maximum Array Sizes in 16 bit C
In-Reply-To: <CAKH6PiU4rqt1npr8eXcDAZQHvXq+RZauDGzLmG2hM+gnTEQwOA@mail.gmail.com>
References: <CAKH6PiU4rqt1npr8eXcDAZQHvXq+RZauDGzLmG2hM+gnTEQwOA@mail.gmail.com>
Message-ID: <20240923121221.94883207D9@orac.inputplus.co.uk>

Hi Doug,

> int base[N][N+2];
> #define binom(n,i) base[n][(i)+1]

Thanks for the interesting prompt.  I've been having a think about it
along the lines of sliding the ints in memory.

Have you considered having a single dimension of ints and then accessing
them as if a two-dimensional array, with [0][0] being offset?

    $ cat offset.c
    #include <stdio.h>

    #define N 4  // N×N values
    #define L 3  // L columns of 0 to the left
    #define U 2  // U columns of 0 upwards

    int main()
    {
        char m[(U + N) * (L + N)] =
            "abcdefg"
            "hijklmn"
            "opq+BCD"  // The '+' is a[0][0].
            "rstEFGH"
            "uvwIJKL"
            "xyzMNOP";
        char (*a)[L + N] = (char (*)[L + N])&m[U * (L + N) + L];

        for (int y = -U; y < N; y++) {
            if (!y)
                putchar('\n');

            for (int x = -L; x < N; x++) {
                if (!x)
                    putchar(' ');

                putchar(a[y][x]);  // y,x relative to ‘+’
            }
            putchar('\n');
        }
    }
    $ gcc -Wall -Wextra -Werror offset.c
    $ ./a.out
    abc defg
    hij klmn

    opq +BCD
    rst EFGH
    uvw IJKL
    xyz MNOP
    $

-- 
Cheers, Ralph.

From douglas.mcilroy at dartmouth.edu  Tue Sep 24 06:59:14 2024
From: douglas.mcilroy at dartmouth.edu (Douglas McIlroy)
Date: Mon, 23 Sep 2024 16:59:14 -0400
Subject: [COFF] [TUHS] Maximum Array Sizes in 16 bit C
Message-ID: <CAKH6PiXk5ZTuLQXAyJ8_3dMGLKMHNjduY3EqBke=-SCN4SFqww@mail.gmail.com>

A summary of a couple of longer posts.

Ralph Corderoy and I used different C syntax than to access an MxN array A,
whose subscripts begin at M0 and N0 in the respective dimensions. Here's a
somewhat simplified version of both. In our examples, M0 and M0 were
negative.

Mine:
int base[M][N];
#define A(i,j) base[i-M0][j-N0]

Ralph's
int base[M][N];
int (*A)[N] = (int(*)[N])&base[-M0][-N0];

In my scheme element references must be written A(i,j). Ralph retains C
array syntax, A[i][j].

Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/coff/attachments/20240923/bd5e16cb/attachment.htm>

From crossd at gmail.com  Wed Sep 25 02:44:26 2024
From: crossd at gmail.com (Dan Cross)
Date: Tue, 24 Sep 2024 12:44:26 -0400
Subject: [COFF] [TUHS] Maximum Array Sizes in 16 bit C
In-Reply-To: <CAKH6PiU4rqt1npr8eXcDAZQHvXq+RZauDGzLmG2hM+gnTEQwOA@mail.gmail.com>
References: <CAKH6PiU4rqt1npr8eXcDAZQHvXq+RZauDGzLmG2hM+gnTEQwOA@mail.gmail.com>
Message-ID: <CAEoi9W5QMUvSvW+wmVNFP2_wbcLQeMsmKZqc-gx+PS9Z5FA5pg@mail.gmail.com>

On Fri, Sep 20, 2024 at 8:22 PM Douglas McIlroy
<douglas.mcilroy at dartmouth.edu> wrote:
> Moved to Coff, because it's about programming style, not history.

Heh, I had deliberately removed the list in my response to you, but
it's not too embarrassing to have this redirected back to COFF. :-)

> > Perhaps I'm missing something? Clever arithmetic in the index
> > calculation aside, this is semantically different than using an actual
> > negative integer to index into an array? Moreover, if the intent is to
> > start the sequence with 0, why set `fib(0)` to 1? How is this
> > substantially different from the usual way of writing this:
>
> I said the Fibonacci example was silly. Maybe you'll be more convinced by the binomial-coefficient program below.
> [snip]

The caveat sent later notwithstanding, I agree that I was overly
fixated on the Fibonacci example in my response and this better
illustrates the motivation for the technique.

Regardless, I feel like we're somewhat speaking at cross-purposes. In
particular, this uses macros to introduce a more pleasant syntax, but
at the language level, the index into the underlying array is always
non-negative and within the array's defined bounds. This is
qualitatively and quantitatively different from using an actual
negative value in the actual indexing operation.

        - Dan C.

From aki at insinga.com  Sun Sep 29 10:17:41 2024
From: aki at insinga.com (Aron Insinga)
Date: Sat, 28 Sep 2024 20:17:41 -0400
Subject: [COFF] Maximum Array Sizes in 16 bit C
In-Reply-To: <0B54746F-504A-40E0-AFFD-4486167FBAD5@iitbombay.org>
References: <CAKH6PiWvuxfa_ek=L=n=mgovFk_ms37u6F2N1qcMLs6RXLRWvA@mail.gmail.com>
 <CAEdTPBfPcmZybb0CVLxhzB-nLTQb3aohWV-o_8ZqQJXmUc4yPA@mail.gmail.com>
 <CAFH29to4_DFdx=U=ZRVY_HE0YGR8tw00Ya4PJhLGR4Z1UMF6_g@mail.gmail.com>
 <CABH=_VR6=wJdgCLArHLd8q3N+BGj=5m16X4WBkB+o5XksbSsbw@mail.gmail.com>
 <11d46ab4-b90c-83fe-131a-ee399eebf342@horsfall.org>
 <20240920171126.vgtl23xwj37kardb@illithid>
 <69643008-F7FE-4AC7-8519-B45E4C1CEA66@iitbombay.org>
 <CANCZdfpy9AsOfE+mvt+DkBYXiwfENLjscMHCT0nnU7WGz54T_Q@mail.gmail.com>
 <0B54746F-504A-40E0-AFFD-4486167FBAD5@iitbombay.org>
Message-ID: <f3ebb505-dde7-437a-99c8-966864a23ef4@insinga.com>

FWIW, I just saw this in code generated by bison:

     (yyvsp[-4].string_val), (yyvsp[-2].string_val), (yyvsp[0].string_val)

(IIUC) referencing the addresses under the top of the stack when passing 
$2, $4, $6 into a function from an action (skipping a couple of 
tokens).  So the sign just depends on which way the stack is growing.

As for range checking of pointers into a malloc'd block of memory, the 
pointer could have just 2 things: the address at the start of the block 
and the pointer itself, some moving address in the block; and then 
before the start of the block malloc could stash the address of the end 
of the block (where it could be referenced by all pointers into the 
block).  So instead of a triple word, the pointer is a double word, and 
the malloc'd block has an extra word before it.  This must have been 
done before by someone, somewhere.

I don't think of pointers and arrays in C as the same thing, but rather 
array references as an alternate syntax for pointer arithmetic (or vice 
versa).

- Aron


