Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Perl will always provide the null. -- Larry Wall in <199801151818.KAA14538@wall.org>


devel / comp.arch / Re: New computer architecture patent approved by UKIPO

SubjectAuthor
* New computer architecture patent approved by UKIPOIr. Hj. Othman bin Hj. Ahmad
+* Re: New computer architecture patent approved by UKIPOMitchAlsup
|`* Re: New computer architecture patent approved by UKIPOOthman Ahmad
| `* Re: New computer architecture patent approved by UKIPOGeorge Neuner
|  `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   +* Re: New computer architecture patent approved by UKIPOTerje Mathisen
|   |+* Re: New computer architecture patent approved by UKIPOBakul Shah
|   ||`- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   |+* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||`* Re: New computer architecture patent approved by UKIPOBakul Shah
|   || `* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||  +* Re: New computer architecture patent approved by UKIPOIvan Godard
|   ||  |`* Re: New computer architecture patent approved by UKIPOrobf...@gmail.com
|   ||  | +* Re: New computer architecture patent approved by UKIPOGeorge Neuner
|   ||  | |+- Re: New computer architecture patent approved by UKIPOAnton Ertl
|   ||  | |`- Re: New computer architecture patent approved by UKIPOTim Rentsch
|   ||  | `* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||  |  `* Re: New computer architecture patent approved by UKIPOTerje Mathisen
|   ||  |   +* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||  |   |`* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||  |   | +* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||  |   | |`- Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||  |   | +* Re: New computer architecture patent approved by UKIPOJimBrakefield
|   ||  |   | |+- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||  |   | |`* Re: New computer architecture patent approved by UKIPOmac
|   ||  |   | | `* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||  |   | |  `* Re: subscripts, wasNew computer architecture patent approved by UKIPOJohn Levine
|   ||  |   | |   `- Re: subscripts, wasNew computer architecture patent approved by UKIPOMitchAlsup
|   ||  |   | `- Re: New computer architecture patent approved by UKIPOTerje Mathisen
|   ||  |   +* Re: New computer architecture patent approved by UKIPOBakul Shah
|   ||  |   |+* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||  |   ||+* Re: New computer architecture patent approved by UKIPOBakul Shah
|   ||  |   |||`- Re: New computer architecture patent approved by UKIPOIvan Godard
|   ||  |   ||`- Re: New computer architecture patent approved by UKIPOIvan Godard
|   ||  |   |+- Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||  |   |`* Re: New computer architecture patent approved by UKIPOTerje Mathisen
|   ||  |   | `- Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||  |   `- Re: New computer architecture patent approved by UKIPODavid Brown
|   ||  `* Re: New computer architecture patent approved by UKIPOBakul Shah
|   ||   +- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||   `* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||    `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||     +* Re: New computer architecture patent approved by UKIPOStefan Monnier
|   ||     |`- Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||     `* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      +* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |+- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |`* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      | +- Re: New computer architecture patent approved by UKIPOJimBrakefield
|   ||      | `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |  +- Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |  `* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      |   +- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |   +* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |   |`* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |   | `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |   |  `* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |   |   `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |   |    `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |   |     +* Re: New computer architecture patent approved by UKIPOBrian G. Lucas
|   ||      |   |     |`* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |   |     | `- Re: New computer architecture patent approved by UKIPOBrian G. Lucas
|   ||      |   |     `- Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |   `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |    +* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      |    |`* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |    | +* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      |    | |+* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |    | ||`- Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      |    | |`* Re: New computer architecture patent approved by UKIPODavid Brown
|   ||      |    | | `- Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |    | `* Re: New computer architecture patent approved by UKIPOEricP
|   ||      |    |  `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |    |   `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||      |    |    `- Re: New computer architecture patent approved by UKIPOMarcus
|   ||      |    +- Re: New computer architecture patent approved by UKIPOStefan Monnier
|   ||      |    `* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |     `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |      `* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |       `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |        `* Re: New computer architecture patent approved by UKIPOStephen Fuld
|   ||      |         `* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |          +* Re: New computer architecture patent approved by UKIPOIvan Godard
|   ||      |          |`- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |          +* Re: New computer architecture patent approved by UKIPOÖö Tiib
|   ||      |          |+* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |          ||`* Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |          || `- Re: New computer architecture patent approved by UKIPOTim Rentsch
|   ||      |          |`- Re: New computer architecture patent approved by UKIPOÖö Tiib
|   ||      |          `* Re: New computer architecture patent approved by UKIPOTerje Mathisen
|   ||      |           +- Re: New computer architecture patent approved by UKIPOMitchAlsup
|   ||      |           `* Re: New computer architecture patent approved by UKIPOTim Rentsch
|   ||      |            +- Re: New computer architecture patent approved by UKIPOMarcus
|   ||      |            `- Re: New computer architecture patent approved by UKIPOTerje Mathisen
|   ||      `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|   ||       `- Re: New computer architecture patent approved by UKIPODavid Brown
|   |`- Re: New computer architecture patent approved by UKIPOThomas Koenig
|   `* Re: New computer architecture patent approved by UKIPOTim Rentsch
|    `* Re: New computer architecture patent approved by UKIPOThomas Koenig
|     +* Re: New computer architecture patent approved by UKIPOThomas Koenig
|     |`* Re: New computer architecture patent approved by UKIPONiklas Holsti
|     `* Re: New computer architecture patent approved by UKIPOTim Rentsch
`* Re: New computer architecture patent approved by UKIPOMarcus

Pages:12345
Re: New computer architecture patent approved by UKIPO

<sqj2pc$e7e$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22583&group=comp.arch#22583

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: bak...@iitbombay.org (Bakul Shah)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Wed, 29 Dec 2021 17:42:02 -0800
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <sqj2pc$e7e$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 30 Dec 2021 01:42:05 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="67e42d81153c047e13817e08d71f0420";
logging-data="14574"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+jQqVwlBq9KxEAvb8VJxm9"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:68.0)
Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
Cancel-Lock: sha1:BoGpwrQ8/53CSawWZjyQdW+U9JI=
In-Reply-To: <sqik30$1ijo$1@gioia.aioe.org>
 by: Bakul Shah - Thu, 30 Dec 2021 01:42 UTC

On 12/29/21 1:31 PM, Terje Mathisen wrote:
> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
> memory was more or less the same speed as CPU, and multiplications were
> much more expensive.
>
> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]

Exactly! This is why "industrial strength" languages should
support them and they don't have to turn into an APL!

Though the descriptor would need to be somewhat more general
as you may pass a subsrray A[x1..x2; y1..y2] to a function
etc.

Re: New computer architecture patent approved by UKIPO

<dbcefe4c-752b-4000-b63e-0f8c6b4fbfebn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22585&group=comp.arch#22585

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:e0c:: with SMTP id y12mr20607827qkm.109.1640834466952; Wed, 29 Dec 2021 19:21:06 -0800 (PST)
X-Received: by 2002:a9d:7443:: with SMTP id p3mr20737020otk.331.1640834466690; Wed, 29 Dec 2021 19:21:06 -0800 (PST)
Path: i2pn2.org!i2pn.org!aioe.org!news.dns-netz.com!news.freedyn.de!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!feeder5.feed.usenet.farm!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 29 Dec 2021 19:21:06 -0800 (PST)
In-Reply-To: <sqj27b$bnu$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:fdd8:9d71:527b:6b7b; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:fdd8:9d71:527b:6b7b
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com> <37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com> <5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com> <msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com> <sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org> <sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me> <sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dbcefe4c-752b-4000-b63e-0f8c6b4fbfebn@googlegroups.com>
Subject: Re: New computer architecture patent approved by UKIPO
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Thu, 30 Dec 2021 03:21:06 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 41
 by: MitchAlsup - Thu, 30 Dec 2021 03:21 UTC

On Wednesday, December 29, 2021 at 7:32:30 PM UTC-6, Bakul Shah wrote:
> On 12/29/21 1:36 AM, David Brown wrote:
> > On 29/12/2021 10:02, Bakul Shah wrote:
> >> On 12/29/21 12:39 AM, David Brown wrote:
> >>> Ideally, a multi-dimensional array A should be indexed by "A[x, y, z]".
> >>> That's the way it works in many languages that support them well.
> >>> Unfortunately, C (and therefore C++) have the "comma operator", so that
> >>> expression already has a meaning - evaluate "x" for its side-effects
> >>> then throw it away, evaluate "y" for its side-effects, then you are left
> >>> with "A[z]".
> >>
> >> This could've been trivially fixed by using ';' instead of
> >> ','. Since ';' is illegal in the [] context, this would
> >> have not been a breaking change.
> >>
> >
> > I think that would have been /far/ from trivial. Suddenly you now have
> > two different ways of separating parameters in the language, which would
> Array indices are not the same as function parameters.
> Given that C screwed up by misusing , as an operator,
> and given that C has no generics, there is no other
> choice but to use a different symbol *if* one wanted
> to add multi dim. arrays to C. The syntax part is indeed
> trivially solved but to make multi dim arrays fully
> useful you need the ability to create arrays, reference
> subarrays and pass them as args. etc and that is not
> trivial.
<
Sure it is, you (the programmer) create dope vectors containing
the pointer, the lower and upper index, and the stride between
containers. Compilers in languages that actually support arrays
do this easily, and in C it is straightforward for the programmer
to create these Dope Vectors.
<
> I believe it is indeed possible to add
> full fledged multi-dim. array support to C in a fully
> backward compatible way. Though am not holding my breath.
> (and I have close to 0 interest in what C++ does. I used
> it for 20+ years. That was a long enough sentence!]
<
Congratulations on your release. Did you get a commutation or
a pardon ?

Re: New computer architecture patent approved by UKIPO

<a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22586&group=comp.arch#22586

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:21d1:: with SMTP id h17mr20952629qka.495.1640834554123;
Wed, 29 Dec 2021 19:22:34 -0800 (PST)
X-Received: by 2002:a9d:1b0f:: with SMTP id l15mr19860178otl.38.1640834553936;
Wed, 29 Dec 2021 19:22:33 -0800 (PST)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.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.arch
Date: Wed, 29 Dec 2021 19:22:33 -0800 (PST)
In-Reply-To: <sqj2pc$e7e$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:fdd8:9d71:527b:6b7b;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:fdd8:9d71:527b:6b7b
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com> <5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com> <sqcvuq$l2h$1@newsreader4.netcologne.de>
<sqf32u$irb$1@gioia.aioe.org> <sqh6rs$uqh$1@dont-email.me>
<sqh87v$6en$1@dont-email.me> <sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com> <sqhu96$g3v$1@dont-email.me>
<sqik30$1ijo$1@gioia.aioe.org> <sqj2pc$e7e$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>
Subject: Re: New computer architecture patent approved by UKIPO
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Thu, 30 Dec 2021 03:22:34 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2506
 by: MitchAlsup - Thu, 30 Dec 2021 03:22 UTC

On Wednesday, December 29, 2021 at 7:42:07 PM UTC-6, Bakul Shah wrote:
> On 12/29/21 1:31 PM, Terje Mathisen wrote:
> > Multi-dim arrays using Iliffe vectors used to be a good idea, back when
> > memory was more or less the same speed as CPU, and multiplications were
> > much more expensive.
> >
> > Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
> Exactly! This is why "industrial strength" languages should
> support them and they don't have to turn into an APL!
>
> Though the descriptor would need to be somewhat more general
> as you may pass a subsrray A[x1..x2; y1..y2] to a function
> etc.
<
I remember MARY 2 (circa 1981) where one could create triangular
multidimensional arrays using the <ahem> macro facility. This far
surpasses the multidimensional arrays or FORTRAN and like languages.

Re: New computer architecture patent approved by UKIPO

<sqjdcv$qn1$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22588&group=comp.arch#22588

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: bak...@iitbombay.org (Bakul Shah)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Wed, 29 Dec 2021 20:43:11 -0800
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <sqjdcv$qn1$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<sqj2pc$e7e$1@dont-email.me>
<a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 30 Dec 2021 04:43:12 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="67e42d81153c047e13817e08d71f0420";
logging-data="27361"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/fcxltiFeg1BAintf10K97"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:68.0)
Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.10.2
Cancel-Lock: sha1:HC0SFtOIqU9U/1PHsNsHTzEIu4A=
In-Reply-To: <a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>
 by: Bakul Shah - Thu, 30 Dec 2021 04:43 UTC

On 12/29/21 7:22 PM, MitchAlsup wrote:
> On Wednesday, December 29, 2021 at 7:42:07 PM UTC-6, Bakul Shah wrote:
>> On 12/29/21 1:31 PM, Terje Mathisen wrote:
>>> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
>>> memory was more or less the same speed as CPU, and multiplications were
>>> much more expensive.
>>>
>>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>> Exactly! This is why "industrial strength" languages should
>> support them and they don't have to turn into an APL!
>>
>> Though the descriptor would need to be somewhat more general
>> as you may pass a subsrray A[x1..x2; y1..y2] to a function
>> etc.
> <
> I remember MARY 2 (circa 1981) where one could create triangular
> multidimensional arrays using the <ahem> macro facility. This far
> surpasses the multidimensional arrays or FORTRAN and like languages.

Perhaps Ivan can expand on that. I knew of Mary1 and Mary2 but
never used them.

The macro facility would be useful for creating an array with a
compact lexical expression, but what was its representation at
run time?

Even Fortran style arrays would be quite useful.

Re: New computer architecture patent approved by UKIPO

<sqjoec$62u$2@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22590&group=comp.arch#22590

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.de!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 07:51:40 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sqjoec$62u$2@newsreader4.netcologne.de>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<sqj2pc$e7e$1@dont-email.me>
Injection-Date: Thu, 30 Dec 2021 07:51:40 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:eb03:0:7285:c2ff:fe6c:992d";
logging-data="6238"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Thu, 30 Dec 2021 07:51 UTC

Bakul Shah <bakul@iitbombay.org> schrieb:
> On 12/29/21 1:31 PM, Terje Mathisen wrote:
>> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
>> memory was more or less the same speed as CPU, and multiplications were
>> much more expensive.
>>
>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>
> Exactly! This is why "industrial strength" languages should
> support them and they don't have to turn into an APL!
>
> Though the descriptor would need to be somewhat more general
> as you may pass a subsrray A[x1..x2; y1..y2] to a function
> etc.

https://j3-fortran.org/doc/year/18/18-007r1.pdf contains a
specification in section 18.5 in C of such a facility.

Re: New computer architecture patent approved by UKIPO

<sqjrsc$j0k$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22591&group=comp.arch#22591

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!rd9pRsUZyxkRLAEK7e/Uzw.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 09:50:27 +0100
Organization: Aioe.org NNTP Server
Message-ID: <sqjrsc$j0k$1@gioia.aioe.org>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<63b758e4-4772-48a2-a0a5-a27c9b181161n@googlegroups.com>
<sqilun$g9j$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="19476"; posting-host="rd9pRsUZyxkRLAEK7e/Uzw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Firefox/68.0 SeaMonkey/2.53.10.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Thu, 30 Dec 2021 08:50 UTC

Thomas Koenig wrote:
> MitchAlsup <MitchAlsup@aol.com> schrieb:
>> On Wednesday, December 29, 2021 at 3:31:16 PM UTC-6, Terje Mathisen wrote:
>>> David Brown wrote:
>>>> On 29/12/2021 11:46, robf...@gmail.com wrote:
>>>>> Huh? C does not support multi-dimensional arrays? I did not realize that. Not realizing
>>>>> that, it is supported in my cc64 language. I do not see why [ ][ ][ ] cannot be used in
>>>>> place of commas.
>>>>> In cc64 multi-dimensional arrays are supported with the indexing operator[].
>>>>> Accessing a multi-dimensional array is just A[x][y][z] which is the same as A[x,y,z].
>>>>>
>>>>
>>>> Yes, C (and therefore C++) support A[x][y][z] for arrays of arrays of
>>>> arrays. But that is not /quite/ the same as a multi-dimensional array.
>>>> And C arrays have slightly unusual semantics - array expressions decay
>>>> into pointer expressions in most circumstances. Often, you can write
>>>> simple and clear code with multi-dimensional arrays. But for some
>>>> use-cases, you need quite complicated expressions and a lot of care to
>>>> get the sizes write.
>>>>
>>> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
>>> memory was more or less the same speed as CPU, and multiplications were
>>> much more expensive.
>>>
>>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>>> than to effectively do
>>>
>>> t1 = arr[z]
>>> t2 = t1[y]
>>> w = t2[x]
>>>
>>> where t1[] is an array of pointers to pointers to arrays, and t2[] is
>>> an array of pointers to arrays.
>>>
>>> Lifting stuff out of the inner loops can often alleviate the costs of
>>> both of these, but integer mul is far to be preferred to random memory
>>> access.
>> <
>> Then strength-reduction converts MULs within a loop back into ADDs.
>
> ... which was a feature of the very first FORTRAN compiler, already.
>
Yeah, we all know that.

What I tried to say, having learned this from Andy Glew, is that even in
the case where arr[x,y,z] is a single, effectively random, access, it is
now better to use MUL than double or triple indirect memory lookups.

Pipelining allows all of those MULs to overlap, so the cost for doing
3D/4D/etc access rises very slowly.

Andy's advice was to "consider all internal cpu opcodes to be free, you
only need to care about the cost of the load/store ops". This was in the
PPro time frame, so ~25 years ago.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: New computer architecture patent approved by UKIPO

<sqjs9n$p1g$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22593&group=comp.arch#22593

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 00:57:27 -0800
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <sqjs9n$p1g$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<sqj2pc$e7e$1@dont-email.me>
<a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 30 Dec 2021 08:57:27 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="b6c53295862427d945fb15ac369e8338";
logging-data="25648"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/fORk5uOUSh17c7HazyYgv"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:bjcTT1tFktgMQRxoRJsTn5Gmljc=
In-Reply-To: <a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Thu, 30 Dec 2021 08:57 UTC

On 12/29/2021 7:22 PM, MitchAlsup wrote:
> On Wednesday, December 29, 2021 at 7:42:07 PM UTC-6, Bakul Shah wrote:
>> On 12/29/21 1:31 PM, Terje Mathisen wrote:
>>> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
>>> memory was more or less the same speed as CPU, and multiplications were
>>> much more expensive.
>>>
>>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>> Exactly! This is why "industrial strength" languages should
>> support them and they don't have to turn into an APL!
>>
>> Though the descriptor would need to be somewhat more general
>> as you may pass a subsrray A[x1..x2; y1..y2] to a function
>> etc.
> <
> I remember MARY 2 (circa 1981) where one could create triangular
> multidimensional arrays using the <ahem> macro facility. This far
> surpasses the multidimensional arrays or FORTRAN and like languages.

Predated by (revised) Algol68. Referty rowsety rowwsety rowslice!

Re: New computer architecture patent approved by UKIPO

<sqjseb$q6a$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22594&group=comp.arch#22594

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!rd9pRsUZyxkRLAEK7e/Uzw.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 10:00:02 +0100
Organization: Aioe.org NNTP Server
Message-ID: <sqjseb$q6a$1@gioia.aioe.org>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<sqj2pc$e7e$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="26826"; posting-host="rd9pRsUZyxkRLAEK7e/Uzw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Firefox/68.0 SeaMonkey/2.53.10.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Thu, 30 Dec 2021 09:00 UTC

Bakul Shah wrote:
> On 12/29/21 1:31 PM, Terje Mathisen wrote:
>> Multi-dim arrays using Iliffe vectors used to be a good idea, back
>> when memory was more or less the same speed as CPU, and
>> multiplications were much more expensive.
>>
>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>
> Exactly! This is why "industrial strength" languages should
> support them and they don't have to turn into an APL!
>
> Though the descriptor would need to be somewhat more general
> as you may pass a subsrray A[x1..x2; y1..y2] to a function
> etc.

Sure, which is why I suggested an array descriptor to consist of (at
least) base_address, (allocated) size, dimensions, [for each dimension:
length, stride].

This way I can trivially construct a new descriptor for any subset/slice
out of the original, and for most uses, said construction would only
take a handful of clock cycles.

We still need to care about performance, so even if this setup makes it
easy to define a transposed access pattern, you probably want to instead
create a transposed copy if you are going to do significant work in that
format, but for a single/partial pass it could be ok.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: New computer architecture patent approved by UKIPO

<sqjsh3$rpg$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22595&group=comp.arch#22595

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 01:01:22 -0800
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <sqjsh3$rpg$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<sqj2pc$e7e$1@dont-email.me>
<a28b0d71-b99f-45ff-8691-698f7ebb9945n@googlegroups.com>
<sqjdcv$qn1$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 30 Dec 2021 09:01:24 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="b6c53295862427d945fb15ac369e8338";
logging-data="28464"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/6Vq6wWQ89f4Nbh0Q57Ahq"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:o8LHi2MmWzgplPZFWIUO9P4efVM=
In-Reply-To: <sqjdcv$qn1$1@dont-email.me>
Content-Language: en-US
 by: Ivan Godard - Thu, 30 Dec 2021 09:01 UTC

On 12/29/2021 8:43 PM, Bakul Shah wrote:
> On 12/29/21 7:22 PM, MitchAlsup wrote:
>> On Wednesday, December 29, 2021 at 7:42:07 PM UTC-6, Bakul Shah wrote:
>>> On 12/29/21 1:31 PM, Terje Mathisen wrote:
>>>> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
>>>> memory was more or less the same speed as CPU, and multiplications were
>>>> much more expensive.
>>>>
>>>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>>> Exactly! This is why "industrial strength" languages should
>>> support them and they don't have to turn into an APL!
>>>
>>> Though the descriptor would need to be somewhat more general
>>> as you may pass a subsrray A[x1..x2; y1..y2] to a function
>>> etc.
>> <
>> I remember MARY 2 (circa 1981) where one could create triangular
>> multidimensional arrays using the <ahem> macro facility. This far
>> surpasses the multidimensional arrays or FORTRAN and like languages.
>
> Perhaps Ivan can expand on that. I knew of Mary1 and Mary2 but
> never used them.
>
> The macro facility would be useful for creating an array with a
> compact lexical expression, but what was its representation at
> run time?
>
> Even Fortran style arrays would be quite useful.

It's a misnomer to call it a macro. "Macro" implies invocation by text
substitution. Mary used lexical substitution, and syntactic substitution
in Mary2. Overloaded, of course.

Re: New computer architecture patent approved by UKIPO

<sqk2ik$tlh$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22597&group=comp.arch#22597

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 11:44:35 +0100
Organization: A noiseless patient Spider
Lines: 56
Message-ID: <sqk2ik$tlh$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 30 Dec 2021 10:44:36 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="7376c53bf237326f94440bc522260d18";
logging-data="30385"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19R2TGRf6O/LXxDPp6MsCYXtTC009s/wt0="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:U6NkidXNhS0bD/EcQX+ObpG57I8=
In-Reply-To: <sqik30$1ijo$1@gioia.aioe.org>
Content-Language: en-GB
 by: David Brown - Thu, 30 Dec 2021 10:44 UTC

On 29/12/2021 22:31, Terje Mathisen wrote:
> David Brown wrote:
>> On 29/12/2021 11:46, robf...@gmail.com wrote:
>>> Huh? C does not support multi-dimensional arrays? I did not realize
>>> that. Not realizing
>>> that, it is supported in my cc64 language. I do not see why [ ][ ][ ]
>>> cannot be used in
>>> place of commas.
>>> In cc64 multi-dimensional arrays are supported with the indexing
>>> operator[].
>>> Accessing a multi-dimensional array is just A[x][y][z] which is the
>>> same as A[x,y,z].
>>>
>>
>> Yes, C (and therefore C++) support A[x][y][z] for arrays of arrays of
>> arrays.  But that is not /quite/ the same as a multi-dimensional array.
>>   And C arrays have slightly unusual semantics - array expressions decay
>> into pointer expressions in most circumstances.  Often, you can write
>> simple and clear code with multi-dimensional arrays.  But for some
>> use-cases, you need quite complicated expressions and a lot of care to
>> get the sizes write.
>>
> Multi-dim arrays using Iliffe vectors used to be a good idea, back when
> memory was more or less the same speed as CPU, and multiplications were
> much more expensive.
>
> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
> than to effectively do
>
>   t1 = arr[z]
>   t2 = t1[y]
>   w = t2[x]
>
> where t1[] is an array of pointers to pointers to arrays, and  t2[] is
> an array of pointers to arrays.
>
> Lifting stuff out of the inner loops can often alleviate the costs of
> both of these, but integer mul is far to be preferred to random memory
> access.
>

Sure - but that's why you have an optimising compiler. Write code
clearly, using the array notation of the language you have.

It is not uncommon for a good compiler to be able to optimise array
access code better than manual pointer code, because it has specific
pattern-matching optimisations for such expressions. And it is better
to have clear, human-readable code that optimises imperfectly than
impenetrable and unmaintainable pointer-based code that optimises worse.
You certainly have a better chance of static warnings about accesses
outside array bounds when using arrays.

Details will, of course, vary according to how the arrays are used, what
the compiler can do with them, what processor you are using, and all
kinds of other aspects.

Re: New computer architecture patent approved by UKIPO

<sqk3af$cho$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22598&group=comp.arch#22598

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.de!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 10:57:19 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sqk3af$cho$1@newsreader4.netcologne.de>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<63b758e4-4772-48a2-a0a5-a27c9b181161n@googlegroups.com>
<sqilun$g9j$1@newsreader4.netcologne.de>
<47497c6d-c34a-46f0-87a5-3108ebf47a70n@googlegroups.com>
Injection-Date: Thu, 30 Dec 2021 10:57:19 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:eb03:0:7285:c2ff:fe6c:992d";
logging-data="12856"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Thu, 30 Dec 2021 10:57 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Wednesday, December 29, 2021 at 4:03:06 PM UTC-6, Thomas Koenig wrote:
>> MitchAlsup <Mitch...@aol.com> schrieb:

>> > Then strength-reduction converts MULs within a loop back into ADDs.
>> ... which was a feature of the very first FORTRAN compiler, already.
><
> Something like 1955 ?

It was introduced in 1957.

Re: New computer architecture patent approved by UKIPO

<sqk3hf$4bb$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22599&group=comp.arch#22599

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 12:01:03 +0100
Organization: A noiseless patient Spider
Lines: 81
Message-ID: <sqk3hf$4bb$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 30 Dec 2021 11:01:03 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="7376c53bf237326f94440bc522260d18";
logging-data="4459"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18utWqNQpyeyzZ9NiIoHOA7b5ofZufIKe0="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:O/cvFg158ct3YN/ZVboZdSqhBcg=
In-Reply-To: <sqj27b$bnu$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Thu, 30 Dec 2021 11:01 UTC

On 30/12/2021 02:32, Bakul Shah wrote:
> On 12/29/21 1:36 AM, David Brown wrote:
>> On 29/12/2021 10:02, Bakul Shah wrote:
>>> On 12/29/21 12:39 AM, David Brown wrote:
>>>> Ideally, a multi-dimensional array A should be indexed by "A[x, y, z]".
>>>>    That's the way it works in many languages that support them well.
>>>> Unfortunately, C (and therefore C++) have the "comma operator", so that
>>>> expression already has a meaning - evaluate "x" for its side-effects
>>>> then throw it away, evaluate "y" for its side-effects, then you are
>>>> left
>>>> with "A[z]".
>>>
>>> This could've been trivially fixed by using ';' instead of
>>> ','. Since ';' is illegal in the [] context, this would
>>> have not been a breaking change.
>>>
>>
>> I think that would have been /far/ from trivial.  Suddenly you now have
>> two different ways of separating parameters in the language, which would
>
> Array indices are not the same as function parameters.

True...

> Given that C screwed up by misusing , as an operator,

Opinions differ on that one, but I am not personally a big fan of the
comma operator.

> and given that C has no generics,

It does - C11 has _Generic. But it is a different kind of "generic"
than, say, C++ templates.

> there is no other
> choice but to use a different symbol *if* one wanted
> to add multi dim. arrays to C. The syntax part is indeed
> trivially solved but to make multi dim arrays fully
> useful you need the ability to create arrays, reference
> subarrays and pass them as args. etc and that is not
> trivial.  I believe it is indeed possible to add
> full fledged multi-dim. array support to C in a fully
> backward compatible way. Though  am not holding my breath.
> (and I have close to 0 interest in what C++ does. I used
> it for 20+ years. That was a long enough sentence!]

The thread branch was about adding them to C++, not C, since in C++ it
could be done using a class (or more accurately, a class template).

No one is ever going to add a new multi-dimensional array syntax to C.
It won't happen. A suggestion to change the syntax of C so that you can
write "A[x; y; z;]" instead of "A[x][y][z]" would be laughed out of any
standards committee meeting. You don't make such a significant change
to a language syntax for something that trivial.

In C, arrays are an odd beast - they form special types with quite
limited usage. The only operators that can be applied to them are
sizeof and unary & (the "address-of" operator). You can't pass them
into or out of functions.

The subscript operator [] in C is /defined/ as having "A[x]" mean "*(A +
x)". This means "A[x]" and "x[A]" are the same thing in C. You can't
start adding multiple arguments here and turn subscript into a
multi-argument function and call it "trivial" !

In C++, however, there /is/ a way forward. "A[x]" means the same as in
C when "A" is a pointer. But if "A" is a user-defined class with an
overload, it means "A.operator[](x)". Now it is a function call, and
functions can have multiple arguments. In C++, you can make classes
that provide an interface and semantics - you can have array classes
that act as normal "value" objects with array-specific operations,
rather than acting as pointers in expressions. You could make
multi-dimensional array classes that can do new and useful things beyond
simple access - such as operators and methods for manipulating the array
as a whole, or taking sub-arrays. That is inconceivable in C.

All it takes is to change "A[x, y]" to mean "A.operator[](x, y)" instead
of today's "A.operator[]((x, y))". /That/ is an almost trivial change -
but it is still a breaking change to the language.

Re: New computer architecture patent approved by UKIPO

<sqk48n$d0t$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22602&group=comp.arch#22602

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.de!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 11:13:27 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sqk48n$d0t$1@newsreader4.netcologne.de>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me>
<8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com>
<sqhu96$g3v$1@dont-email.me> <sqik30$1ijo$1@gioia.aioe.org>
<sqj2pc$e7e$1@dont-email.me> <sqjseb$q6a$1@gioia.aioe.org>
Injection-Date: Thu, 30 Dec 2021 11:13:27 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:eb03:0:7285:c2ff:fe6c:992d";
logging-data="13341"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Thu, 30 Dec 2021 11:13 UTC

Terje Mathisen <terje.mathisen@tmsw.no> schrieb:
> Bakul Shah wrote:
>> On 12/29/21 1:31 PM, Terje Mathisen wrote:
>>> Multi-dim arrays using Iliffe vectors used to be a good idea, back
>>> when memory was more or less the same speed as CPU, and
>>> multiplications were much more expensive.
>>>
>>> Today, it is normally far better to do w = arr[z*ZSTRIDE+y*YSTRIDE+x]
>>
>> Exactly! This is why "industrial strength" languages should
>> support them and they don't have to turn into an APL!
>>
>> Though the descriptor would need to be somewhat more general
>> as you may pass a subsrray A[x1..x2; y1..y2] to a function
>> etc.
>
> Sure, which is why I suggested an array descriptor to consist of (at
> least) base_address, (allocated) size, dimensions, [for each dimension:
> length, stride].
>
> This way I can trivially construct a new descriptor for any subset/slice
> out of the original, and for most uses, said construction would only
> take a handful of clock cycles.

You are describing Fortran to a T :-)

> We still need to care about performance, so even if this setup makes it
> easy to define a transposed access pattern, you probably want to instead
> create a transposed copy if you are going to do significant work in that
> format, but for a single/partial pass it could be ok.

This is why Fortran 2008 introduced the "congiguous" attribute,
to give the user a choice. Since then, you can write

subroutine foo(a)
integer, dimension(:,:), contiguous, intent(inout) :: a

and the compiler will conditionally insert code to pack/unpack
(i.e. make a temporary contiguous copyo of) the array if it is
not contiguous already.

This is a reason why specifying the intent is so importrant for
performance. If intent(in) is specified, for example, there is
no need to unpack on exit.

Re: New computer architecture patent approved by UKIPO

<sqkqg3$3js$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22612&group=comp.arch#22612

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 09:32:50 -0800
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <sqkqg3$3js$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 30 Dec 2021 17:32:51 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f7fde36530e19cd71fc285d281376c65";
logging-data="3708"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX185gXTaUQvC46bXW7r5sg2sBUzqlviLelw="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:5HQ+PbdB6vnqQz3p4sV6QPcFg84=
In-Reply-To: <sqk3hf$4bb$1@dont-email.me>
Content-Language: en-US
 by: Stephen Fuld - Thu, 30 Dec 2021 17:32 UTC

On 12/30/2021 3:01 AM, David Brown wrote:

snip

> No one is ever going to add a new multi-dimensional array syntax to C.
> It won't happen.

I absolutely agree. I do think that it was a mistake not to include
full multidimensional array support early on, given the intended use, I
understand the decision. And backward compatibility makes it hard to
add now.

However, what surprises me is that the newer languages such as Rust,
Zip, Go, etc. appear not to support multi-dimensional arrays. (Of
course, Julia is an exception to that).

I can think of two reasons for this. One is that they were desirable,
but just didn't make the cut for feature inclusion. Given that,
contrary to its designers expectations, C has been fairly widely used
for scientific programming, where multi-dimensional arrays are
important, and the cost to include them isn't that great, I think this
is a mistake. The other reason is perhaps some "evangelists" think it
is a "really bad thing" to include, and their view won out. Perhaps
there are other reasons. But needless to say, I disagree. Of course YMMV.

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: New computer architecture patent approved by UKIPO

<jwv8rw153df.fsf-monnier+comp.arch@gnu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22619&group=comp.arch#22619

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 13:56:22 -0500
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <jwv8rw153df.fsf-monnier+comp.arch@gnu.org>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="5afa94744ec86cd094704460040e2bef";
logging-data="1093"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/jgP2nXBT/a8md4Um0ckt2"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
Cancel-Lock: sha1:Kf6kFjaYGTMEdOYBchi9opwd0XU=
sha1:K6OPXekh+oXzFDCgzFPuDpdgVQc=
 by: Stefan Monnier - Thu, 30 Dec 2021 18:56 UTC

> However, what surprises me is that the newer languages such as Rust, Zip,
> Go, etc. appear not to support multi-dimensional arrays. (Of course, Julia
> is an exception to that).
>
> I can think of two reasons for this. One is that they were desirable, but
> just didn't make the cut for feature inclusion. Given that, contrary to its
> designers expectations, C has been fairly widely used for scientific
> programming, where multi-dimensional arrays are important, and the cost to
> include them isn't that great, I think this is a mistake. The other reason
> is perhaps some "evangelists" think it is a "really bad thing" to include,
> and their view won out. Perhaps there are other reasons. But needless to
> say, I disagree. Of course YMMV.

I'd put my money on "designers not familiar enough with scientific computing".

Stefan

Re: New computer architecture patent approved by UKIPO

<sql06s$ld7$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22620&group=comp.arch#22620

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 11:10:20 -0800
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <sql06s$ld7$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
<jwv8rw153df.fsf-monnier+comp.arch@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 30 Dec 2021 19:10:20 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f7fde36530e19cd71fc285d281376c65";
logging-data="21927"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+oisVDzXh6wMWWhKHDAAVBvU81IMIkeA4="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:nuudw6Z9rkZnpv05cwTW195SpBM=
In-Reply-To: <jwv8rw153df.fsf-monnier+comp.arch@gnu.org>
Content-Language: en-US
 by: Stephen Fuld - Thu, 30 Dec 2021 19:10 UTC

On 12/30/2021 10:56 AM, Stefan Monnier wrote:
>> However, what surprises me is that the newer languages such as Rust, Zip,
>> Go, etc. appear not to support multi-dimensional arrays. (Of course, Julia
>> is an exception to that).
>>
>> I can think of two reasons for this. One is that they were desirable, but
>> just didn't make the cut for feature inclusion. Given that, contrary to its
>> designers expectations, C has been fairly widely used for scientific
>> programming, where multi-dimensional arrays are important, and the cost to
>> include them isn't that great, I think this is a mistake. The other reason
>> is perhaps some "evangelists" think it is a "really bad thing" to include,
>> and their view won out. Perhaps there are other reasons. But needless to
>> say, I disagree. Of course YMMV.
>
> I'd put my money on "designers not familiar enough with scientific computing".

Probably a good bet! :-(

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: New computer architecture patent approved by UKIPO

<sql09e$pfs$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22621&group=comp.arch#22621

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 20:11:41 +0100
Organization: A noiseless patient Spider
Lines: 42
Message-ID: <sql09e$pfs$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 30 Dec 2021 19:11:42 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="7376c53bf237326f94440bc522260d18";
logging-data="26108"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/0gjZVD0Y5JBzhNTQ7VCpQNR0yv3CbdBg="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:GXfOI57G7B9dGX9EvI+GCmWB34k=
In-Reply-To: <sqkqg3$3js$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Thu, 30 Dec 2021 19:11 UTC

On 30/12/2021 18:32, Stephen Fuld wrote:
> On 12/30/2021 3:01 AM, David Brown wrote:
>
> snip
>
>> No one is ever going to add a new multi-dimensional array syntax to C.
>> It won't happen. 
>
> I absolutely agree.  I do think that it was a mistake not to include
> full multidimensional array support early on, given the intended use, I
> understand the decision.  And backward compatibility makes it hard to
> add now.
>
> However, what surprises me is that the newer languages such as Rust,
> Zip, Go, etc. appear not to support multi-dimensional arrays. (Of
> course, Julia is an exception to that).
>
> I can think of two reasons for this.  One is that they were desirable,
> but just didn't make the cut for feature inclusion.  Given that,
> contrary to its designers expectations, C has been fairly widely used
> for scientific programming, where multi-dimensional arrays are
> important, and the cost to include them isn't that great, I think this
> is a mistake.  The other reason is perhaps some "evangelists" think it
> is a "really bad thing" to include, and their view won out.  Perhaps
> there are other reasons.  But needless to say, I disagree.  Of course YMMV.
>
>

I suspect that good native (i.e., part of the core language rather than
libraries or classes) multi-dimensional array support is not as much
needed as it would appear. It is not hard to think of features that
seem obviously essential in a language, and yet are missing in many
languages.

A challenge with multi-dimensional array support beyond the simple and
limited version in C is that people want different things from it. And
that makes it hard to put in the language core. It is arguably better
to make it easy to make user types and let people make the array classes
they want for their own use. C++ provides that, though I think they
might have made a simple multi-dimensional class in the standard
library. I don't know how Rust, Go, etc., fare in this aspect.

Re: New computer architecture patent approved by UKIPO

<sql2c8$36g$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22622&group=comp.arch#22622

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 11:47:18 -0800
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <sql2c8$36g$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
<sql09e$pfs$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 30 Dec 2021 19:47:20 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f7fde36530e19cd71fc285d281376c65";
logging-data="3280"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Av7DuX+ZU3XZzSN5DZUmlWOraJTYO+Vw="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:PKv8RTbrYUPx5AuH1kUYAaTbq48=
In-Reply-To: <sql09e$pfs$1@dont-email.me>
Content-Language: en-US
 by: Stephen Fuld - Thu, 30 Dec 2021 19:47 UTC

On 12/30/2021 11:11 AM, David Brown wrote:
> On 30/12/2021 18:32, Stephen Fuld wrote:
>> On 12/30/2021 3:01 AM, David Brown wrote:
>>
>> snip
>>
>>> No one is ever going to add a new multi-dimensional array syntax to C.
>>> It won't happen.
>>
>> I absolutely agree.  I do think that it was a mistake not to include
>> full multidimensional array support early on, given the intended use, I
>> understand the decision.  And backward compatibility makes it hard to
>> add now.
>>
>> However, what surprises me is that the newer languages such as Rust,
>> Zip, Go, etc. appear not to support multi-dimensional arrays. (Of
>> course, Julia is an exception to that).
>>
>> I can think of two reasons for this.  One is that they were desirable,
>> but just didn't make the cut for feature inclusion.  Given that,
>> contrary to its designers expectations, C has been fairly widely used
>> for scientific programming, where multi-dimensional arrays are
>> important, and the cost to include them isn't that great, I think this
>> is a mistake.  The other reason is perhaps some "evangelists" think it
>> is a "really bad thing" to include, and their view won out.  Perhaps
>> there are other reasons.  But needless to say, I disagree.  Of course YMMV.
>>
>>
>
> I suspect that good native (i.e., part of the core language rather than
> libraries or classes) multi-dimensional array support is not as much
> needed as it would appear. It is not hard to think of features that
> seem obviously essential in a language, and yet are missing in many
> languages.

Probably itself a good topic for discussion, though perhaps off topic
for comp.arch. But I am willing if others are. So can you provide some
examples?

> A challenge with multi-dimensional array support beyond the simple and
> limited version in C is that people want different things from it.

Can you elaborate on this? Are there features that some want that are
hard to provide, or where different people want conflicting features?

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: New computer architecture patent approved by UKIPO

<52a2e1e7-b4ed-4503-ba49-24510e774a6fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22625&group=comp.arch#22625

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:1477:: with SMTP id j23mr23431582qkl.152.1640896058906;
Thu, 30 Dec 2021 12:27:38 -0800 (PST)
X-Received: by 2002:a05:6830:2b20:: with SMTP id l32mr23547093otv.333.1640896058692;
Thu, 30 Dec 2021 12:27:38 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Thu, 30 Dec 2021 12:27:38 -0800 (PST)
In-Reply-To: <sql2c8$36g$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:7c95:1043:36c7:2208;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:7c95:1043:36c7:2208
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com> <5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com> <sqcvuq$l2h$1@newsreader4.netcologne.de>
<sqf32u$irb$1@gioia.aioe.org> <sqh6rs$uqh$1@dont-email.me>
<sqh87v$6en$1@dont-email.me> <sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me> <sql09e$pfs$1@dont-email.me>
<sql2c8$36g$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <52a2e1e7-b4ed-4503-ba49-24510e774a6fn@googlegroups.com>
Subject: Re: New computer architecture patent approved by UKIPO
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Thu, 30 Dec 2021 20:27:38 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 53
 by: MitchAlsup - Thu, 30 Dec 2021 20:27 UTC

On Thursday, December 30, 2021 at 1:47:23 PM UTC-6, Stephen Fuld wrote:
> On 12/30/2021 11:11 AM, David Brown wrote:
> > On 30/12/2021 18:32, Stephen Fuld wrote:
> >> On 12/30/2021 3:01 AM, David Brown wrote:
> >>
> >> snip
> >>
> >>> No one is ever going to add a new multi-dimensional array syntax to C.
> >>> It won't happen.
> >>
> >> I absolutely agree. I do think that it was a mistake not to include
> >> full multidimensional array support early on, given the intended use, I
> >> understand the decision. And backward compatibility makes it hard to
> >> add now.
> >>
> >> However, what surprises me is that the newer languages such as Rust,
> >> Zip, Go, etc. appear not to support multi-dimensional arrays. (Of
> >> course, Julia is an exception to that).
> >>
> >> I can think of two reasons for this. One is that they were desirable,
> >> but just didn't make the cut for feature inclusion. Given that,
> >> contrary to its designers expectations, C has been fairly widely used
> >> for scientific programming, where multi-dimensional arrays are
> >> important, and the cost to include them isn't that great, I think this
> >> is a mistake. The other reason is perhaps some "evangelists" think it
> >> is a "really bad thing" to include, and their view won out. Perhaps
> >> there are other reasons. But needless to say, I disagree. Of course YMMV.
> >>
> >>
> >
> > I suspect that good native (i.e., part of the core language rather than
> > libraries or classes) multi-dimensional array support is not as much
> > needed as it would appear. It is not hard to think of features that
> > seem obviously essential in a language, and yet are missing in many
> > languages.
> Probably itself a good topic for discussion, though perhaps off topic
> for comp.arch. But I am willing if others are. So can you provide some
> examples?
<
comp.lang ?
<
> > A challenge with multi-dimensional array support beyond the simple and
> > limited version in C is that people want different things from it.
<
> Can you elaborate on this? Are there features that some want that are
> hard to provide, or where different people want conflicting features?
<
People want to be able to pass rows, columns, diagonals, sub-arrays of
an array or matrix. If you have a dope vector as the underlying access means,
all of this is straightforward.
<
> --
> - Stephen Fuld
> (e-mail address disguised to prevent spam)

Re: New computer architecture patent approved by UKIPO

<sql6fp$6es$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22627&group=comp.arch#22627

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Thu, 30 Dec 2021 20:57:29 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sql6fp$6es$1@newsreader4.netcologne.de>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
<sql09e$pfs$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 30 Dec 2021 20:57:29 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-eb03-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:eb03:0:7285:c2ff:fe6c:992d";
logging-data="6620"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Thu, 30 Dec 2021 20:57 UTC

David Brown <david.brown@hesbynett.no> schrieb:
> On 30/12/2021 18:32, Stephen Fuld wrote:
>> On 12/30/2021 3:01 AM, David Brown wrote:
>>
>> snip
>>
>>> No one is ever going to add a new multi-dimensional array syntax to C.
>>> It won't happen. 
>>
>> I absolutely agree.  I do think that it was a mistake not to include
>> full multidimensional array support early on, given the intended use, I
>> understand the decision.  And backward compatibility makes it hard to
>> add now.
>>
>> However, what surprises me is that the newer languages such as Rust,
>> Zip, Go, etc. appear not to support multi-dimensional arrays. (Of
>> course, Julia is an exception to that).
>>
>> I can think of two reasons for this.  One is that they were desirable,
>> but just didn't make the cut for feature inclusion.  Given that,
>> contrary to its designers expectations, C has been fairly widely used
>> for scientific programming, where multi-dimensional arrays are
>> important, and the cost to include them isn't that great, I think this
>> is a mistake.  The other reason is perhaps some "evangelists" think it
>> is a "really bad thing" to include, and their view won out.  Perhaps
>> there are other reasons.  But needless to say, I disagree.  Of course YMMV.
>>
>>
>
> I suspect that good native (i.e., part of the core language rather than
> libraries or classes) multi-dimensional array support is not as much
> needed as it would appear. It is not hard to think of features that
> seem obviously essential in a language, and yet are missing in many
> languages.
>
> A challenge with multi-dimensional array support beyond the simple and
> limited version in C is that people want different things from it. And
> that makes it hard to put in the language core. It is arguably better
> to make it easy to make user types and let people make the array classes
> they want for their own use.

I beg to differ there.

Hand-crafted array classes will be buggy, they will be slow (my guess
will be that at least half of them would be based on the "pointer
to pointer" concept) and they will have different features.

Even more worrisome: They will be incompatible, so it will not
be possible to combine software from different packages.

Re: New computer architecture patent approved by UKIPO

<2021Dec31.142451@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22651&group=comp.arch#22651

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Fri, 31 Dec 2021 13:24:51 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 75
Message-ID: <2021Dec31.142451@mips.complang.tuwien.ac.at>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com> <5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com> <msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com> <sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org> <sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me> <sqha6a$h95$1@dont-email.me> <sqhcec$sp3$1@dont-email.me> <8a5ce1cf-0145-407b-8bb5-6c31e4ec115an@googlegroups.com> <9rhosg5gc3gsl3rlqs5h93dpmvg1h2inqk@4ax.com>
Injection-Info: reader02.eternal-september.org; posting-host="0378d83b25f1312aaa05e6b22cb0be46";
logging-data="29223"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19VjBASx4WOzGXU/eUqdAwo"
Cancel-Lock: sha1:MNpWCUbt5cYWPrxJ1Gd2jud1wOY=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Fri, 31 Dec 2021 13:24 UTC

George Neuner <gneuner2@comcast.net> writes:
>E.g., suppose you define 'int arr[2][10]'.
>
>In C you will get a block of memory that can hold 20 contiguous ints
>... but that block has no internal structure:

It's 2 contiguous blocks with 10 contiguous ints each.

>nothing but compiler
>warnings prevent you from referencing arr[1][2] as arr[-1][22], or
>as arr[0][12], or as arr[2][-8], etc.

Yes, and? It's C. If you want a language with array bounds checking,
there are plenty to choose from.

>And those warnings are possible only in scope of the array definition.
>If you pass your '2D' array to a separately compiled function defined
>to take an int* or int[] argument, then all bets are off: that
>function will see a ONE dimensional array with no size limit.

If you don't want that, heed the warnings:

[~/tmp:127444] cat xxx.c
void bar1(int *);
void bar2(int []);
void bar3(int [][10]);

void foo()
{ int arr[2][10];
bar1(arr);
bar2(arr);
bar3(arr);
} [~/tmp:127445] gcc -c xxx.c
xxx.c: In function ‘foo’:
xxx.c:8:8: warning: passing argument 1 of ‘bar1’ from incompatible pointer type [-Wincompatible-pointer-types]
8 | bar1(arr);
| ^~~
| |
| int (*)[10]
xxx.c:1:11: note: expected ‘int *’ but argument is of type ‘int (*)[10]’
1 | void bar1(int *);
| ^~~~~
xxx.c:9:8: warning: passing argument 1 of ‘bar2’ from incompatible pointer type [-Wincompatible-pointer-types]
9 | bar2(arr);
| ^~~
| |
| int (*)[10]
xxx.c:2:11: note: expected ‘int *’ but argument is of type ‘int (*)[10]’
2 | void bar2(int []);
| ^~~~~~

>In a language with true arrays, references that violate the defined
>structure of the array would be errors: the dimensions and limits
>follow the array as it is passed around.

That's a different language style.

What C does is to implement the access to arr[1][2] correctly, which
sounds pretty two-dimensional to me. If you prefer bounds checking, C
is not the language for you.

The more practically relevant problem of multi-dimensional arrays in C
is that all but the leftmost dimension must be a compile-time
constants. I recently wrote a C program where that constraint could
not be satisfied, so I had to implement the access by using a
one-dimensional access and computing the one-dimensional index
manually from the indices of the two-dimensional access and the size
of one dimension.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: New computer architecture patent approved by UKIPO

<sqn3ph$938$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22652&group=comp.arch#22652

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Fri, 31 Dec 2021 15:23:44 +0100
Organization: A noiseless patient Spider
Lines: 41
Message-ID: <sqn3ph$938$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
<sql09e$pfs$1@dont-email.me> <sql6fp$6es$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 31 Dec 2021 14:23:45 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="b454e564db563d9b651013bbaa3e0164";
logging-data="9320"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/knjtHWQPQHCKRz2y/1fMN4ar8bTuGlI8="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:u9qgSWrg0BEYrNbNcPrEuEYMTIk=
In-Reply-To: <sql6fp$6es$1@newsreader4.netcologne.de>
Content-Language: en-GB
 by: David Brown - Fri, 31 Dec 2021 14:23 UTC

On 30/12/2021 21:57, Thomas Koenig wrote:
> David Brown <david.brown@hesbynett.no> schrieb:

>>
>> I suspect that good native (i.e., part of the core language rather than
>> libraries or classes) multi-dimensional array support is not as much
>> needed as it would appear. It is not hard to think of features that
>> seem obviously essential in a language, and yet are missing in many
>> languages.
>>
>> A challenge with multi-dimensional array support beyond the simple and
>> limited version in C is that people want different things from it. And
>> that makes it hard to put in the language core. It is arguably better
>> to make it easy to make user types and let people make the array classes
>> they want for their own use.
>
> I beg to differ there.
>
> Hand-crafted array classes will be buggy, they will be slow (my guess
> will be that at least half of them would be based on the "pointer
> to pointer" concept) and they will have different features.
>
> Even more worrisome: They will be incompatible, so it will not
> be possible to combine software from different packages.
>

These are all good points. IMHO, the best solution in situations like
this is for the language to support user-defined types but provide good
general-purpose classes as part of the standard library. Then those
that have special requirements can make their own, while most people can
use the standard library types (minimising the risk of all the problems
you mention). But it is better for the core language to concentrate on
being able to create such types in an efficient, low-risk manner with
convenient user interfaces, than to add more features to the core language.

For most C++ users, a std::array of std::array or a std::vector of
std::vector (or a mix of the two) works well enough, if a bit cumbersome
when defining it. Once it is possible to write "A[x, y]", a better
multi-dimensional array can be made (and hopefully /will/ be made and
added to the standard library).

Re: New computer architecture patent approved by UKIPO

<sqn50p$g8p$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22654&group=comp.arch#22654

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Fri, 31 Dec 2021 15:44:40 +0100
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <sqn50p$g8p$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
<sql09e$pfs$1@dont-email.me> <sql2c8$36g$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 31 Dec 2021 14:44:41 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="b454e564db563d9b651013bbaa3e0164";
logging-data="16665"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19mt72z9nHaCCZVo4kXLkB7kV6a17FkLns="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:6wmpsmMCbrNEtjxQNeR4VeB0UWw=
In-Reply-To: <sql2c8$36g$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Fri, 31 Dec 2021 14:44 UTC

On 30/12/2021 20:47, Stephen Fuld wrote:
> On 12/30/2021 11:11 AM, David Brown wrote:

>> I suspect that good native (i.e., part of the core language rather than
>> libraries or classes) multi-dimensional array support is not as much
>> needed as it would appear.  It is not hard to think of features that
>> seem obviously essential in a language, and yet are missing in many
>> languages.
>
> Probably itself a good topic for discussion, though perhaps off topic
> for comp.arch.  But I am willing if others are.  So can you provide some
> examples?
>

One example that comes to mind is that neither C nor C++ has a "power"
operator. But usually you think of things that you use regularly in one
language, but are missing when you move to another language. Good
string support, sized integer types, strong enumerators, classes,
multi-threading and atomics - there are all kinds of things that are
heavily used in some languages yet missing entirely in others.

>
>> A challenge with multi-dimensional array support beyond the simple and
>> limited version in C is that people want different things from it.
>
> Can you elaborate on this?  Are there features that some want that are
> hard to provide, or where different people want conflicting features?
>

If you implement a two-dimensional array as an array of arrays, then
it's easy to get sub-arrays in one direction, but difficult in the other
direction. If you want to support that efficiently, you need your
one-dimensional arrays to be characterised by stride size as well as
element count and element size/type. That makes your one-dimensional
arrays less efficient.

Sometimes you want sparse arrays, or arrays with flexible sizes in one
or more dimensions. Maybe you want range checking on access. That's
all possible, but comes at a cost (sometimes a significant cost)
compared to a simpler fixed-size array.

Perhaps you want mixed array/scaler operations - such as making "A = x;"
initialise every element of array "A" with the value "x". That does not
cause additional run-time costs for those that don't want the operation,
but it reduces the compile-time error checking and safety of the type
for those that would prefer it to be an error.

Re: New computer architecture patent approved by UKIPO

<a3028ce3-a17d-44df-8853-e19ce1bb775an@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22667&group=comp.arch#22667

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:5dc1:: with SMTP id m1mr32435333qvh.26.1640982087580;
Fri, 31 Dec 2021 12:21:27 -0800 (PST)
X-Received: by 2002:a05:6808:198a:: with SMTP id bj10mr27506070oib.37.1640982087284;
Fri, 31 Dec 2021 12:21:27 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Fri, 31 Dec 2021 12:21:27 -0800 (PST)
In-Reply-To: <sqn50p$g8p$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=136.50.253.102; posting-account=AoizIQoAAADa7kQDpB0DAj2jwddxXUgl
NNTP-Posting-Host: 136.50.253.102
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com> <5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com> <sqcvuq$l2h$1@newsreader4.netcologne.de>
<sqf32u$irb$1@gioia.aioe.org> <sqh6rs$uqh$1@dont-email.me>
<sqh87v$6en$1@dont-email.me> <sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me> <sql09e$pfs$1@dont-email.me>
<sql2c8$36g$1@dont-email.me> <sqn50p$g8p$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a3028ce3-a17d-44df-8853-e19ce1bb775an@googlegroups.com>
Subject: Re: New computer architecture patent approved by UKIPO
From: jim.brak...@ieee.org (JimBrakefield)
Injection-Date: Fri, 31 Dec 2021 20:21:27 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 49
 by: JimBrakefield - Fri, 31 Dec 2021 20:21 UTC

On Friday, December 31, 2021 at 8:44:43 AM UTC-6, David Brown wrote:
> On 30/12/2021 20:47, Stephen Fuld wrote:
> > On 12/30/2021 11:11 AM, David Brown wrote:
>
> >> I suspect that good native (i.e., part of the core language rather than
> >> libraries or classes) multi-dimensional array support is not as much
> >> needed as it would appear. It is not hard to think of features that
> >> seem obviously essential in a language, and yet are missing in many
> >> languages.
> >
> > Probably itself a good topic for discussion, though perhaps off topic
> > for comp.arch. But I am willing if others are. So can you provide some
> > examples?
> >
> One example that comes to mind is that neither C nor C++ has a "power"
> operator. But usually you think of things that you use regularly in one
> language, but are missing when you move to another language. Good
> string support, sized integer types, strong enumerators, classes,
> multi-threading and atomics - there are all kinds of things that are
> heavily used in some languages yet missing entirely in others.
> >
> >> A challenge with multi-dimensional array support beyond the simple and
> >> limited version in C is that people want different things from it.
> >
> > Can you elaborate on this? Are there features that some want that are
> > hard to provide, or where different people want conflicting features?
> >
> If you implement a two-dimensional array as an array of arrays, then
> it's easy to get sub-arrays in one direction, but difficult in the other
> direction. If you want to support that efficiently, you need your
> one-dimensional arrays to be characterised by stride size as well as
> element count and element size/type. That makes your one-dimensional
> arrays less efficient.
>
> Sometimes you want sparse arrays, or arrays with flexible sizes in one
> or more dimensions. Maybe you want range checking on access. That's
> all possible, but comes at a cost (sometimes a significant cost)
> compared to a simpler fixed-size array.
>
> Perhaps you want mixed array/scaler operations - such as making "A = x;"
> initialise every element of array "A" with the value "x". That does not
> cause additional run-time costs for those that don't want the operation,
> but it reduces the compile-time error checking and safety of the type
> for those that would prefer it to be an error.

IIRC the array languages (Numpy, IDL, PV-wave & Matlab?) generate optimized code
dynamically for each occurrence, say as an array assignment expression is evaluated.
Basically JIT compilation. The data structure at the bottom is an up to eight
dimension array descriptor with count and stride in each dimension. Sparse arrays
are accessed through a vector of index values.

Re: New computer architecture patent approved by UKIPO

<sqsn46$cpn$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22688&group=comp.arch#22688

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: New computer architecture patent approved by UKIPO
Date: Sun, 2 Jan 2022 09:24:22 -0800
Organization: A noiseless patient Spider
Lines: 82
Message-ID: <sqsn46$cpn$1@dont-email.me>
References: <1153ff5f-dc38-452b-beb6-4531181466fdn@googlegroups.com>
<37581437-09ba-4d4f-9f38-f9cb5656c07dn@googlegroups.com>
<5528b6bc-5fcb-4906-aaa0-fa6cebb72803n@googlegroups.com>
<msnjsgdvb8st1nf4o03o19u9opldfs4a1o@4ax.com>
<sqcvuq$l2h$1@newsreader4.netcologne.de> <sqf32u$irb$1@gioia.aioe.org>
<sqh6rs$uqh$1@dont-email.me> <sqh87v$6en$1@dont-email.me>
<sqha6a$h95$1@dont-email.me> <sqj27b$bnu$1@dont-email.me>
<sqk3hf$4bb$1@dont-email.me> <sqkqg3$3js$1@dont-email.me>
<sql09e$pfs$1@dont-email.me> <sql2c8$36g$1@dont-email.me>
<sqn50p$g8p$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 2 Jan 2022 17:24:22 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="08c0ece9f47e6e039a5c8b15bd53d7d4";
logging-data="13111"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/VQi/a5/Pq8sxzBGscRlVd1jXGPvho7tg="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.1
Cancel-Lock: sha1:jEd0EP8Y5HnrHrWO8ru6l6PgT1o=
In-Reply-To: <sqn50p$g8p$1@dont-email.me>
Content-Language: en-US
 by: Stephen Fuld - Sun, 2 Jan 2022 17:24 UTC

On 12/31/2021 6:44 AM, David Brown wrote:
> On 30/12/2021 20:47, Stephen Fuld wrote:
>> On 12/30/2021 11:11 AM, David Brown wrote:
>
>>> I suspect that good native (i.e., part of the core language rather than
>>> libraries or classes) multi-dimensional array support is not as much
>>> needed as it would appear.  It is not hard to think of features that
>>> seem obviously essential in a language, and yet are missing in many
>>> languages.
>>
>> Probably itself a good topic for discussion, though perhaps off topic
>> for comp.arch.  But I am willing if others are.  So can you provide some
>> examples?
>>
>
> One example that comes to mind is that neither C nor C++ has a "power"
> operator. But usually you think of things that you use regularly in one
> language, but are missing when you move to another language. Good
> string support, sized integer types, strong enumerators, classes,
> multi-threading and atomics - there are all kinds of things that are
> heavily used in some languages yet missing entirely in others.

Thank you. Some of these are missing in some languages due to the long
language history and lots of existing code, and the difficulty of adding
a useful feature without breaking compatibility. I totally understand
that. I think most of these are included in most new languages (Is that
enough weasel words????).

I also do like, what apparently others don't, is a spec that says
essentially, this is an optional feature, but if you implement it, it
should work like this. (This goes back at least as far as COBOL.) This
is a compromise between creeping "featureitis" and slow death by
ossification. It also gives some time to see if a feature is really
needed and find any issues with it.

What I don't like is saying a popular feature should be implemented by
the individual programmer or team, as that leads to fracturing,
increased learning and debugging time when you "switch teams", etc.

>>> A challenge with multi-dimensional array support beyond the simple and
>>> limited version in C is that people want different things from it.
>>
>> Can you elaborate on this?  Are there features that some want that are
>> hard to provide, or where different people want conflicting features?
>>
>
> If you implement a two-dimensional array as an array of arrays, then
> it's easy to get sub-arrays in one direction, but difficult in the other
> direction. If you want to support that efficiently, you need your
> one-dimensional arrays to be characterised by stride size as well as
> element count and element size/type. That makes your one-dimensional
> arrays less efficient.

I am not sure I agree that is needed, but even if it is, I think the
overhead is pretty minimal.

> Sometimes you want sparse arrays, or arrays with flexible sizes in one
> or more dimensions. Maybe you want range checking on access. That's
> all possible, but comes at a cost (sometimes a significant cost)
> compared to a simpler fixed-size array.

I may be wrong, but I think most of these are provided in, for example,
Julia. And others should provide more definitive knowledge, but I think
at least some of these are in the newer versions of Fortran.

> Perhaps you want mixed array/scaler operations - such as making "A = x;"
> initialise every element of array "A" with the value "x". That does not
> cause additional run-time costs for those that don't want the operation,
> but it reduces the compile-time error checking and safety of the type
> for those that would prefer it to be an error.

Again, I think that is allowed in Julia (though perhaps with different
syntax).

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Pages:12345
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor