Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and the Ugly). -- Matt Welsh


devel / comp.lang.c / Re: Linus Torvalds prepares to move the Linux kernel to modern C

SubjectAuthor
* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
+* Re: Linus Torvalds prepares to move the Linux kernel to modern CLynn McGuire
|+* Re: Linus Torvalds prepares to move the Linux kernel to modern Crthiebaud
||`* Re: Linus Torvalds prepares to move the Linux kernel to modern CLynn McGuire
|| +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
|| +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
|| |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
|| | `* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
|| |  `* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
|| |   +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
|| |   `- Re: Linus Torvalds prepares to move the Linux kernel to modern CVir Campestris
|| `- Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
|+* Re: Linus Torvalds prepares to move the Linux kernel to modern CKaz Kylheku
||`* Re: Linus Torvalds prepares to move the Linux kernel to modern CLynn McGuire
|| `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
|+- Re: Linus Torvalds prepares to move the Linux kernel to modern CManu Raju
|`- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
+* Re: Linus Torvalds prepares to move the Linux kernel to modern CLynn McGuire
|`* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| +* Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| |+* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||`- Re: Linus Torvalds prepares to move the Linux kernel to modern CManfred
| |+- Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
| |`- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| |+* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||`* Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| || +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| || +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| || +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| || `* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| ||  `* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||   +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| ||   |+- Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||   |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||   | +* Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||   | |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||   | | `* Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||   | |  `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||   | `* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| ||   |  +* Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||   |  |`- Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| ||   |  `* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||   |   `* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| ||   |    `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||   `* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| ||    `* Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse
| ||     `- Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| |+* Re: Linus Torvalds prepares to move the Linux kernel to modern Crthiebaud
| ||`* Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| || +* Re: Linus Torvalds prepares to move the Linux kernel to modern CLynn McGuire
| || |+- Re: Linus Torvalds prepares to move the Linux kernel to modern CGary R. Schmidt
| || |`- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| || `* Re: Linus Torvalds prepares to move the Linux kernel to modern CManfred
| ||  +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| ||  +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| ||  |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||  | `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| ||  `* Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||   +- Re: Linus Torvalds prepares to move the Linux kernel to modern CManfred
| ||   `* Re: Linus Torvalds prepares to move the Linux kernel to modern CLew Pitcher
| ||    +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| ||    |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
| ||    | `* Re: Linus Torvalds prepares to move the Linux kernel to modern CKeith Thompson
| ||    |  `* Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
| ||    |   +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| ||    |   `* Re: Linus Torvalds prepares to move the Linux kernel to modern CKeith Thompson
| ||    |    `* Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
| ||    |     `- Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||    +- Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| ||    `* Re: Linus Torvalds prepares to move the Linux kernel to modern CVir Campestris
| ||     +- Re: Linus Torvalds prepares to move the Linux kernel to modern CMalcolm McLean
| ||     `* Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| ||      `* Re: Linus Torvalds prepares to move the Linux kernel to modern CDavid Brown
| ||       `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBart
| |`- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
| `* Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
|  +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
|  |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CScott Lurndal
|  | `* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
|  |  `- Re: Linus Torvalds prepares to move the Linux kernel to modern CChris M. Thomasson
|  `- Re: Linus Torvalds prepares to move the Linux kernel to modern CTim Rentsch
`* Re: Linus Torvalds prepares to move the Linux kernel to modern CChris M. Thomasson
 +* Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
 |`* Re: Linus Torvalds prepares to move the Linux kernel to modern CChris M. Thomasson
 | `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBonita Montero
 `- Re: Linus Torvalds prepares to move the Linux kernel to modern CBen Bacarisse

Pages:1234
Re: Linus Torvalds prepares to move the Linux kernel to modern C

<svrfa2$vok$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20770&group=comp.lang.c#20770

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Thu, 3 Mar 2022 22:26:10 +0000
Organization: A noiseless patient Spider
Lines: 40
Message-ID: <svrfa2$vok$1@dont-email.me>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<svobnq$d5p$1@dont-email.me> <svofvi$kbb$1@dont-email.me>
<svqi6n$1ccc$1@gioia.aioe.org>
<2f12cd83-7ac3-49c5-b993-a97933359214n@googlegroups.com>
<svqp1u$tmm$2@dont-email.me> <svqpi3$7ja$1@dont-email.me>
<0N6UJ.234040$Rza5.5337@fx47.iad> <87ilsun86w.fsf@nosuchdomain.example.com>
<4RaUJ.90313$aT3.79887@fx09.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 3 Mar 2022 22:26:10 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="cdd9ae9ac835544bf069b74349a5db5b";
logging-data="32532"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aOu/wuMZIHu3UAfecnfV99HokSJhe1FQ="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.6.1
Cancel-Lock: sha1:odtSVldnqn5dY6Jhx20WjLxTPU0=
In-Reply-To: <4RaUJ.90313$aT3.79887@fx09.iad>
 by: Bart - Thu, 3 Mar 2022 22:26 UTC

On 03/03/2022 21:57, Scott Lurndal wrote:
> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>> scott@slp53.sl.home (Scott Lurndal) writes:
>>> Bonita Montero <Bonita.Montero@gmail.com> writes:
>>>> Am 03.03.2022 um 17:06 schrieb Lew Pitcher:
>>>>> On Thu, 03 Mar 2022 07:19:55 -0800, Malcolm McLean wrote:
>>>>>
>>>>>> On Thursday, 3 March 2022 at 14:10:06 UTC, Manfred wrote:
>>>>>>> On 3/2/2022 8:19 PM, Bart wrote:
>>>>>>>
>>>>>>> Are you seriously suggesting that the default size of int should be 64
>>>>>>> bits everywhere?
>>>>>>> Even for a general purpose counter from 1 to 10?
>>>>>>>
>>>>>> The vast majority of integers are small. But there's a lot to be said for
>>>>>> having one integer type which is used everywhere there isn't a strong
>>>>>> case against, which can count any collection of objects in the computer's
>>>>>> memory, and which is called "int".
>>>>>
>>>>> I think that your requirements are already met, with the exception that
>>>>> the integer type is called
>>>>> size_t
>>>>> instead of
>>>>> int
>>>>
>>>> ptrdiff_t is the int-counterpart that fits in a general purpose
>>>> register. size_t is unsigned.
>>>
>>> Of course, one can alway use ssize_t.
>>
>> No, one can't always use ssize_t. It's defined by POSIX, not by ISO C
>> (even in the latest C23 draft), and POSIX doesn't guarantee that it's
>> the signed type corresponding to size_t.
>
> Yes, one can always use ssize_t.
>
> typedef signed long int ssize_t;

On 64-bit Windows, that declares a 32-bit type.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<87lexqeh4n.fsf@bsb.me.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20772&group=comp.lang.c#20772

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Thu, 03 Mar 2022 23:44:08 +0000
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <87lexqeh4n.fsf@bsb.me.uk>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svr87u$76l$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="6cb984983cb4da28e0542f8e9ea3c327";
logging-data="358"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19YEhupgnlheZDgzpGHUivTIZqsk/AEMT0="
Cancel-Lock: sha1:a+AnId0NiacTqNLkXbXikLczzwQ=
sha1:O4BfkevILz+s/F17fy5zecJHjXM=
X-BSB-Auth: 1.8568d3e5a4c3bbff0a72.20220303234409GMT.87lexqeh4n.fsf@bsb.me.uk
 by: Ben Bacarisse - Thu, 3 Mar 2022 23:44 UTC

"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> writes:

> Moving Linux to Standard C11 has to involve a lot of porting over to
> the std atomics and membars in C11.

No. It's about what can be used, not what must be used. It need
involve no source code changes at all, but it does mean that C11
features could be used in the future. And the change signals what is
the oldest version of gcc that needs to be supported.

--
Ben.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<87ee3imhf8.fsf@nosuchdomain.example.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20778&group=comp.lang.c#20778

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: Keith.S....@gmail.com (Keith Thompson)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Thu, 03 Mar 2022 21:10:35 -0800
Organization: None to speak of
Lines: 27
Message-ID: <87ee3imhf8.fsf@nosuchdomain.example.com>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<svobnq$d5p$1@dont-email.me> <svofvi$kbb$1@dont-email.me>
<svqi6n$1ccc$1@gioia.aioe.org>
<2f12cd83-7ac3-49c5-b993-a97933359214n@googlegroups.com>
<svqp1u$tmm$2@dont-email.me> <svqpi3$7ja$1@dont-email.me>
<0N6UJ.234040$Rza5.5337@fx47.iad>
<87ilsun86w.fsf@nosuchdomain.example.com>
<4RaUJ.90313$aT3.79887@fx09.iad>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="35854a3ed904e5f8875fffc9e3413b7d";
logging-data="21221"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+rhYDFgjSvvagO0/RdqiYy"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:jj6BEgvh82I4ShMg5siu5odVF8c=
sha1:tDy9ZBGG8K+d8LCnxrgQ8uwWNuw=
 by: Keith Thompson - Fri, 4 Mar 2022 05:10 UTC

scott@slp53.sl.home (Scott Lurndal) writes:
> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>>scott@slp53.sl.home (Scott Lurndal) writes:
>>> Bonita Montero <Bonita.Montero@gmail.com> writes:
[...]
>>>>ptrdiff_t is the int-counterpart that fits in a general purpose
>>>>register. size_t is unsigned.
>>>
>>> Of course, one can alway use ssize_t.
>>
>>No, one can't always use ssize_t. It's defined by POSIX, not by ISO C
>>(even in the latest C23 draft), and POSIX doesn't guarantee that it's
>>the signed type corresponding to size_t.
>
> Yes, one can always use ssize_t.
>
> typedef signed long int ssize_t;

Presumably surrounded by a nest of #ifdefs so you don't (a) redefine it
when the implementation already defines it or (b) define it with the
wrong size (on Windows, for example, size_t is 64 bits and long int is
32 bits).

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips
void Void(void) { Void(); } /* The recursive call of the void */

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<svsj6u$a60$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20783&group=comp.lang.c#20783

  copy link   Newsgroups: comp.lang.c
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.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Fri, 4 Mar 2022 09:38:53 +0100
Organization: A noiseless patient Spider
Lines: 59
Message-ID: <svsj6u$a60$1@dont-email.me>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<87czj4jlwv.fsf@bsb.me.uk> <svoest$ase$1@dont-email.me>
<svokpo$tm8$1@dont-email.me> <87pmn4huz0.fsf@bsb.me.uk>
<svou8p$7qd$1@dont-email.me> <877d9bhpb0.fsf@bsb.me.uk>
<svr5v1$k99$1@dont-email.me> <87r17ieq1u.fsf@bsb.me.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 4 Mar 2022 08:38:54 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="609b997decd7ba15c112366a6415595d";
logging-data="10432"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+5sBtif4ofFL2hLL2Z+bSzYgJAdbz+mVQ="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:OzLUSus1PJ9CI4QDPtTRz7XnDXQ=
In-Reply-To: <87r17ieq1u.fsf@bsb.me.uk>
Content-Language: en-GB
 by: David Brown - Fri, 4 Mar 2022 08:38 UTC

On 03/03/2022 21:31, Ben Bacarisse wrote:
> David Brown <david.brown@hesbynett.no> writes:
>
>> On 03/03/2022 01:06, Ben Bacarisse wrote:
>>> Bart <bc@freeuk.com> writes:
>
>>>> The examples were clearly mainly for my benefit in showing that C++ is
>>>> not that bad after all.
>>>
>>> Yes, and they do that. I was nit-picking.
>>
>> The nit-picks are all valid. And that is a reason why it is often
>> better to use the standard library routines instead, such as
>> implementing reduce_using as something like :
>>
>> constexpr auto reduce_using(auto f, auto &xs) {
>> auto i = std::begin(xs);
>> auto init = *i++;
>> return std::accumulate(i, std::end(xs), init);
>> }
>
> (The f is missing as the last argument.)

Yes.

>
> I suspect this, including a drop(1), can be done with std::views since
> they can combine with std::algorithms (but I'm guessing).

I agree with that guess - it would be my guess too! I haven't tried any
ranges stuff as yet, other than a "drop(1)" added to the first set of
example code I made. Testing on godbolt showed exactly the same code,
IIRC - it seems gcc not only optimises this all to the same kind of loop
you'd get with a traditional dedicated C function, but it was also smart
enough to spot the "max" pattern and skip the unnecessary first round.

>
>> I believe there have been many proposals for adding pattern matching to
>> C++ (and I hope we get one eventually). But I don't remember seeing any
>> that have the lovely "head ++ tail" pattern matching so standard in
>> functional programming.
>
> Extreme topic drift now, but it's usually head : tail. I've only seen
> ++ as a list append operator, and matching against that would force head
> to be a list as well as tail (with undefined consequences).
>

To be honest, I can't remember the details of the syntax from the
functional programming language I used at university (it was called
"Orwell", but it was only much used at Oxford and Glasgow universities.
They have both standardised on Haskell now, AFAIK. But you are of
course right - "head : tail" is used for pattern matching, and " ++ " is
the concatenation operator. I am out of practice!

I find threads like this inspirational for looking at new features of
languages or libraries and trying them out. It is, however, wandering a
bit from comp.lang.c - despite Malcolm's attempts to bring it back!

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<svsjb6$a60$2@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20784&group=comp.lang.c#20784

  copy link   Newsgroups: comp.lang.c
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.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Fri, 4 Mar 2022 09:41:10 +0100
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <svsjb6$a60$2@dont-email.me>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<87czj4jlwv.fsf@bsb.me.uk> <svoest$ase$1@dont-email.me>
<svokpo$tm8$1@dont-email.me> <87pmn4huz0.fsf@bsb.me.uk>
<svr4om$anv$1@dont-email.me> <87wnhaeqm2.fsf@bsb.me.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 4 Mar 2022 08:41:10 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="609b997decd7ba15c112366a6415595d";
logging-data="10432"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+LtJ8BmvH/qi45lvDxVBsBt2xfUUfMeQ4="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:BYF1kdqUFKvhRxSauvDAfWAXVwM=
In-Reply-To: <87wnhaeqm2.fsf@bsb.me.uk>
Content-Language: en-GB
 by: David Brown - Fri, 4 Mar 2022 08:41 UTC

On 03/03/2022 21:19, Ben Bacarisse wrote:
> David Brown <david.brown@hesbynett.no> writes:
>
>> Yes. I also had this version :
>>
>> auto reduce_using(auto f, const auto & xs) {
>> auto m = xs[0];
>> for (auto x : xs | std::views::drop(1)) {
>> m = f(m, x);
>> }
>> return m;
>> }
>>
>> but I thought I'd keep it a little simpler for the demonstration. (It
>> also doesn't handle empty containers as it stands.)
>
> And then you are almost writing Haskell -- composing closures with an
> overloaded | operator!
>
> You could have compromised and done the drop directly:
>
> for (auto x : std::ranges::drop_view(xs, 1)) ...
>
> but I suppose everyone will have to get used to the x | view1 | view2
> pattern soon enough.
>

I thought it was interesting to write it in the "piped filter" pattern,
and to see how that looked in the generated code (fully optimised, in
the simple cases I tried). I haven't used this kind of thing in real
code as yet.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<svsjke$dnu$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20786&group=comp.lang.c#20786

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!paganini.bofh.team!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.br...@hesbynett.no (David Brown)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Fri, 4 Mar 2022 09:46:05 +0100
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <svsjke$dnu$1@dont-email.me>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<svobnq$d5p$1@dont-email.me> <svofvi$kbb$1@dont-email.me>
<svqi6n$1ccc$1@gioia.aioe.org>
<2f12cd83-7ac3-49c5-b993-a97933359214n@googlegroups.com>
<svqp1u$tmm$2@dont-email.me> <svrcb2$965$1@dont-email.me>
<svrd2b$ei1$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 4 Mar 2022 08:46:06 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="609b997decd7ba15c112366a6415595d";
logging-data="14078"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19wTxqEZ0omfUcrE3TwjmsrFVMVnAyJmaM="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:maZcgAodn9fGqWBBxpvMCLcmhF0=
In-Reply-To: <svrd2b$ei1$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Fri, 4 Mar 2022 08:46 UTC

On 03/03/2022 22:47, Bart wrote:
> On 03/03/2022 21:35, Vir Campestris wrote:

>> There's also no guarantee that the size of a pointer is the same as
>> the size of the array index... some architectures embed checks in the
>> pointers.
>
> And a HLL can ensure that the programmer sees a model where they /are/
> the same. That's why it's a HLL.
>

No, pointer /sizes/ and array index /sizes/ can be completely different.
What you mean, I think, is that the /range/ you have by using array
indexes or by using pointers into an array should be the same. In C,
given the way array indexing is defined and the rules about which
pointer accesses are fully defined, these ranges are the same even on
targets where pointers are bigger than size_t.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<svsnkl$flt$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20789&group=comp.lang.c#20789

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: bc...@freeuk.com (Bart)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Fri, 4 Mar 2022 09:54:28 +0000
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <svsnkl$flt$1@dont-email.me>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<svobnq$d5p$1@dont-email.me> <svofvi$kbb$1@dont-email.me>
<svqi6n$1ccc$1@gioia.aioe.org>
<2f12cd83-7ac3-49c5-b993-a97933359214n@googlegroups.com>
<svqp1u$tmm$2@dont-email.me> <svrcb2$965$1@dont-email.me>
<svrd2b$ei1$1@dont-email.me> <svsjke$dnu$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 4 Mar 2022 09:54:29 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="802ff0ab99d0975ad5237f83ae7406a7";
logging-data="16061"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18L8FBhN16ftWyc1eKyy1V0uuBMOaJB3Dg="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.6.1
Cancel-Lock: sha1:Lcp7zgPW9gKUZYKJSlzQ854aUNk=
In-Reply-To: <svsjke$dnu$1@dont-email.me>
 by: Bart - Fri, 4 Mar 2022 09:54 UTC

On 04/03/2022 08:46, David Brown wrote:
> On 03/03/2022 22:47, Bart wrote:
>> On 03/03/2022 21:35, Vir Campestris wrote:
>
>>> There's also no guarantee that the size of a pointer is the same as
>>> the size of the array index... some architectures embed checks in the
>>> pointers.
>>
>> And a HLL can ensure that the programmer sees a model where they /are/
>> the same. That's why it's a HLL.
>>
>
> No, pointer /sizes/ and array index /sizes/ can be completely different.
> What you mean, I think, is that the /range/ you have by using array
> indexes or by using pointers into an array should be the same. In C,
> given the way array indexing is defined and the rules about which
> pointer accesses are fully defined, these ranges are the same even on
> targets where pointers are bigger than size_t.

What I mean is, even if array indices were say 64 bits, and pointers
were 256 bits, the programmer can be given a 64-bit reference to such a
pointer. Then both indices and 'pointers' are the same size.

The implementation however then has the headache of turning pointer
accesses into double-dereferences: from 64-bit 'pointer' to 256-bit true
pointer to the actual data.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<svsq1b$523$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20791&group=comp.lang.c#20791

  copy link   Newsgroups: comp.programming.threads comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: Bonita.M...@gmail.com (Bonita Montero)
Newsgroups: comp.programming.threads,comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Fri, 4 Mar 2022 11:35:23 +0100
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <svsq1b$523$1@dont-email.me>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svr87u$76l$1@dont-email.me>
<svr8u1$d5m$1@dont-email.me> <svra78$no8$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 4 Mar 2022 10:35:23 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="43bf291bb1e1b6d25e77d008740bb993";
logging-data="5187"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+pNtpJQ/XnmOnSQqseHVxY0q0RJC6CgrI="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.6.1
Cancel-Lock: sha1:fe9SvlkHq+HeafKjPERms6em0ac=
In-Reply-To: <svra78$no8$1@dont-email.me>
Content-Language: de-DE
 by: Bonita Montero - Fri, 4 Mar 2022 10:35 UTC

Am 03.03.2022 um 21:59 schrieb Chris M. Thomasson:
> On 3/3/2022 12:37 PM, Bonita Montero wrote:
>> Am 03.03.2022 um 21:25 schrieb Chris M. Thomasson:
>>> On 2/28/2022 9:44 AM, Bonita Montero wrote:
>>>> Am 28.02.2022 um 17:43 schrieb Amine Moulay Ramdane:
>>>>> Hello,
>>>>>
>>>>>
>>>>> Linus Torvalds prepares to move the Linux kernel to modern C
>>>>>
>>>>> The Linux kernel's foundation is the ancient C89 standard of C.
>>>>> Now, Torvalds has decided to upgrade to 2011's more modern C11
>>>>> standard.
>>>>>
>>>>> Read more here:
>>>>>
>>>>> https://www.zdnet.com/article/linus-torvalds-prepares-to-move-the-linux-kernel-to-modern-c/?ftag=COS-05-10aaa0h&utm_campaign=trueAnthem%3A%20Trending%20Content&utm_medium=trueAnthem&utm_source=facebook&fbclid=IwAR1oF1ysACG28YRYJnnYlt7oCzfRhXSUePOKd4xsycb3F8GGwxIfeAXZI8Y
>>>>>
>>>>>
>>>>>
>>>>> Thank you,
>>>>> Amine Moulay Ramdane.
>>>>
>>>> C isn't a modern language, no matter which standard.
>>>
>>> Moving Linux to Standard C11 has to involve a lot of porting over to
>>> the std atomics and membars in C11.
>>
>> The code needs not to be portable beyond gcc and clang.
>
> Well, I was thinking if they altered their existing atomics and membars
> to 100% pure C11, that would be a shit load of work. I can do it, but it
> would take a very long time.

The code needs not to be portable beyond gcc and clang.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<87y21pdhuz.fsf@bsb.me.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20793&group=comp.lang.c#20793

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ben.use...@bsb.me.uk (Ben Bacarisse)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Fri, 04 Mar 2022 12:25:56 +0000
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <87y21pdhuz.fsf@bsb.me.uk>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me>
<87czj4jlwv.fsf@bsb.me.uk> <svoest$ase$1@dont-email.me>
<svokpo$tm8$1@dont-email.me> <87pmn4huz0.fsf@bsb.me.uk>
<svou8p$7qd$1@dont-email.me> <877d9bhpb0.fsf@bsb.me.uk>
<svr5v1$k99$1@dont-email.me> <87r17ieq1u.fsf@bsb.me.uk>
<svsj6u$a60$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="6cb984983cb4da28e0542f8e9ea3c327";
logging-data="19783"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4XAfqIZCoeWRN2r6N+oMaoygigLvl5QA="
Cancel-Lock: sha1:xHtrENHiC4xfd62HjpbZcmWvUmU=
sha1:FVpNLZQ3TNSUJiwoeQJMrsHNTNc=
X-BSB-Auth: 1.dca2f2045c20e6b66006.20220304122556GMT.87y21pdhuz.fsf@bsb.me.uk
 by: Ben Bacarisse - Fri, 4 Mar 2022 12:25 UTC

David Brown <david.brown@hesbynett.no> writes:

> To be honest, I can't remember the details of the syntax from the
> functional programming language I used at university (it was called
> "Orwell", but it was only much used at Oxford and Glasgow
> universities.

Orwell used the (hd:tail) pattern as well. All of that family (SASL,
KRC, Miranda, Orwell, Haskell) are very similar.

> ... It is, however, wandering a
> bit from comp.lang.c - despite Malcolm's attempts to bring it back!

ACK. I think there's been enough drift.

--
Ben.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<upqUJ.91129$Lbb6.39416@fx45.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20797&group=comp.lang.c#20797

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!aioe.org!news.freedyn.de!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx45.iad.POSTED!not-for-mail
X-newsreader: xrn 9.03-beta-14-64bit
Sender: scott@dragon.sl.home (Scott Lurndal)
From: sco...@slp53.sl.home (Scott Lurndal)
Reply-To: slp53@pacbell.net
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Newsgroups: comp.lang.c
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com> <svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me> <svobnq$d5p$1@dont-email.me> <svofvi$kbb$1@dont-email.me> <svqi6n$1ccc$1@gioia.aioe.org> <2f12cd83-7ac3-49c5-b993-a97933359214n@googlegroups.com> <svqp1u$tmm$2@dont-email.me> <svqpi3$7ja$1@dont-email.me> <0N6UJ.234040$Rza5.5337@fx47.iad> <87ilsun86w.fsf@nosuchdomain.example.com> <4RaUJ.90313$aT3.79887@fx09.iad> <87ee3imhf8.fsf@nosuchdomain.example.com>
Lines: 29
Message-ID: <upqUJ.91129$Lbb6.39416@fx45.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 04 Mar 2022 15:40:10 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Fri, 04 Mar 2022 15:40:10 GMT
X-Received-Bytes: 2321
 by: Scott Lurndal - Fri, 4 Mar 2022 15:40 UTC

Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>scott@slp53.sl.home (Scott Lurndal) writes:
>> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>>>scott@slp53.sl.home (Scott Lurndal) writes:
>>>> Bonita Montero <Bonita.Montero@gmail.com> writes:
>[...]
>>>>>ptrdiff_t is the int-counterpart that fits in a general purpose
>>>>>register. size_t is unsigned.
>>>>
>>>> Of course, one can alway use ssize_t.
>>>
>>>No, one can't always use ssize_t. It's defined by POSIX, not by ISO C
>>>(even in the latest C23 draft), and POSIX doesn't guarantee that it's
>>>the signed type corresponding to size_t.
>>
>> Yes, one can always use ssize_t.
>>
>> typedef signed long int ssize_t;
>
>Presumably surrounded by a nest of #ifdefs so you don't (a) redefine it
>when the implementation already defines it or (b) define it with the
>wrong size (on Windows, for example, size_t is 64 bits and long int is
>32 bits).

In 40 years of C programming, I've never encountered (outside of a
classroom) a C program that doesn't rely on either Unix/POSIX interfaces,
Windows APIs or some other third-party API.

So yes, one would need the appropriate code for the target platform.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<010b42f0-f5d4-4755-874b-f4cf7c710901n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20803&group=comp.lang.c#20803

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:ad4:4ee5:0:b0:435:4480:58da with SMTP id dv5-20020ad44ee5000000b00435448058damr4790601qvb.131.1646412634768;
Fri, 04 Mar 2022 08:50:34 -0800 (PST)
X-Received: by 2002:a05:6214:20a5:b0:435:2d5e:4a48 with SMTP id
5-20020a05621420a500b004352d5e4a48mr8552465qvd.3.1646412634634; Fri, 04 Mar
2022 08:50:34 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Fri, 4 Mar 2022 08:50:34 -0800 (PST)
In-Reply-To: <upqUJ.91129$Lbb6.39416@fx45.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=2a00:23a8:400a:5601:8991:ce9d:f2fe:513;
posting-account=Dz2zqgkAAADlK5MFu78bw3ab-BRFV4Qn
NNTP-Posting-Host: 2a00:23a8:400a:5601:8991:ce9d:f2fe:513
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com>
<svmsrh$6j9$1@dont-email.me> <svnsgk$b0g$1@dont-email.me> <svobnq$d5p$1@dont-email.me>
<svofvi$kbb$1@dont-email.me> <svqi6n$1ccc$1@gioia.aioe.org>
<2f12cd83-7ac3-49c5-b993-a97933359214n@googlegroups.com> <svqp1u$tmm$2@dont-email.me>
<svqpi3$7ja$1@dont-email.me> <0N6UJ.234040$Rza5.5337@fx47.iad>
<87ilsun86w.fsf@nosuchdomain.example.com> <4RaUJ.90313$aT3.79887@fx09.iad>
<87ee3imhf8.fsf@nosuchdomain.example.com> <upqUJ.91129$Lbb6.39416@fx45.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <010b42f0-f5d4-4755-874b-f4cf7c710901n@googlegroups.com>
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
From: malcolm....@gmail.com (Malcolm McLean)
Injection-Date: Fri, 04 Mar 2022 16:50:34 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Malcolm McLean - Fri, 4 Mar 2022 16:50 UTC

On Friday, 4 March 2022 at 15:40:51 UTC, Scott Lurndal wrote:
> Keith Thompson <Keith.S.T...@gmail.com> writes:
> >sc...@slp53.sl.home (Scott Lurndal) writes:
> >> Keith Thompson <Keith.S.T...@gmail.com> writes:
> >>>sc...@slp53.sl.home (Scott Lurndal) writes:
> >>>> Bonita Montero <Bonita....@gmail.com> writes:
> >[...]
> >>>>>ptrdiff_t is the int-counterpart that fits in a general purpose
> >>>>>register. size_t is unsigned.
> >>>>
> >>>> Of course, one can alway use ssize_t.
> >>>
> >>>No, one can't always use ssize_t. It's defined by POSIX, not by ISO C
> >>>(even in the latest C23 draft), and POSIX doesn't guarantee that it's
> >>>the signed type corresponding to size_t.
> >>
> >> Yes, one can always use ssize_t.
> >>
> >> typedef signed long int ssize_t;
> >
> >Presumably surrounded by a nest of #ifdefs so you don't (a) redefine it
> >when the implementation already defines it or (b) define it with the
> >wrong size (on Windows, for example, size_t is 64 bits and long int is
> >32 bits).
> In 40 years of C programming, I've never encountered (outside of a
> classroom) a C program that doesn't rely on either Unix/POSIX interfaces,
> Windows APIs or some other third-party API.
>
> So yes, one would need the appropriate code for the target platform.
>
Here's one by me.
https://github.com/MalcolmMcLean/babyxrc

It's a resource compiler. It pulls in images, fonts, string, and audio clips.
Then it dumps them as C source files consisting of data definitions.
it allows simple resizing, but not a full image-processing chain.

It's designed for use by Baby X, but can be used for other programs.

Re: Linus Torvalds prepares to move the Linux kernel to modern C

<86sfq16uwt.fsf@linuxsc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=21456&group=comp.lang.c#21456

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: tr.17...@z991.linuxsc.com (Tim Rentsch)
Newsgroups: comp.lang.c
Subject: Re: Linus Torvalds prepares to move the Linux kernel to modern C
Date: Mon, 25 Apr 2022 08:32:18 -0700
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <86sfq16uwt.fsf@linuxsc.com>
References: <88f5394b-c1a1-4422-a20f-96e5511a178fn@googlegroups.com> <svj1m6$rue$2@dont-email.me> <svmspn$5e7$1@dont-email.me> <svmsrh$6j9$1@dont-email.me> <bnLTJ.29022$aT3.9637@fx09.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: reader02.eternal-september.org; posting-host="2b2bd3060d7fb14ae545fc6b32585799";
logging-data="17399"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191eLOUE4+GarP1mKTOMjPZTiB/GsHDxmQ="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:X00sStDDeVy8QLV18L9UWKWpYjQ=
sha1:drd+soMfkjqkodwYXpD2mIpE+IE=
 by: Tim Rentsch - Mon, 25 Apr 2022 15:32 UTC

scott@slp53.sl.home (Scott Lurndal) writes:

> Bonita Montero <Bonita.Montero@gmail.com> writes:
>
>> Am 02.03.2022 um 05:45 schrieb Lynn McGuire:

[...]

>>> What is your definition of a modern language ?
>>
>> OOP,
>
> Simula, 1967.
>
>
>> RAII,
>
> ADA, 1980.

I think it was done earlier in other languages, although
I don't have a specific reference.

>> generic programming,
>
> ML, 1973.
>
>> functional programming,
>
> Lisp, 1970's.

Lisp goes back to 1958, the second oldest programming
language still in common use.

Pages:1234
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor