Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vbjtmi$1sqao$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vbjtmi$1sqao$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Bart <bc@freeuk.com>
Newsgroups: comp.lang.c
Subject: Re: Top 10 most common hard skills listed on resumes...
Date: Sun, 8 Sep 2024 11:18:58 +0100
Organization: A noiseless patient Spider
Lines: 82
Message-ID: <vbjtmi$1sqao$1@dont-email.me>
References: <vab101$3er$1@reader1.panix.com> <valrj7$367a8$2@dont-email.me>
 <87mskwy9t1.fsf@bsb.me.uk> <vanq4h$3iieb$1@dont-email.me>
 <875xrkxlgo.fsf@bsb.me.uk> <vapitn$3u1ub$1@dont-email.me>
 <87o75bwlp8.fsf@bsb.me.uk> <vaps06$3vg8l$1@dont-email.me>
 <871q27weeh.fsf@bsb.me.uk> <20240829083200.195@kylheku.com>
 <87v7zjuyd8.fsf@bsb.me.uk> <20240829084851.962@kylheku.com>
 <87mskvuxe9.fsf@bsb.me.uk> <vaq9tu$1te8$1@dont-email.me>
 <vbci8r$1c9e8$1@paganini.bofh.team> <vbcs65$eabn$1@dont-email.me>
 <vbekut$1kd24$1@paganini.bofh.team> <vbepcb$q6p2$1@dont-email.me>
 <vbj6ii$1q6mh$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 08 Sep 2024 12:18:59 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ad79b9a69b5377684053ea6685c7dbff";
	logging-data="1993048"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/RDmg4j/cVvngqrgnzqnVX"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:0ZIul7gGeFxUmCo3cTMjeNfvkFM=
In-Reply-To: <vbj6ii$1q6mh$1@dont-email.me>
Content-Language: en-GB
Bytes: 3771

On 08/09/2024 04:44, Janis Papanagnou wrote:
> On 06.09.2024 13:34, Bart wrote:
>>
>> In more complicated cases in languages, then some asymmetry does come
>> up. For example, suppose C allowed this (my language allows the
>> equivalent):
>>
>>     (c ? a : b) = x;
> 
> In Algol 68 you can write
> 
>      IF c THEN a ELSE b FI := x
> 
> or, in a shorter form, as
> 
>      ( c | a | b ) := x
> 
> if you prefer.

Yes, that's my syntax too as that's where I copied it from. I've been 
able to write such code since the 80s.

It applies also to any value-returning statement (switch, case, n-way 
select, block**) and can nest.

But the feature (using them in lvalue contexts) was rarely used.

(** This is:

     (a, b, c) = 0;

in C, which is illegal. But put in explicit pointers, and it's suddenly 
fine:

     *(a, b, &c) = 0;

So why can't the compiler do that?)

>>
>> So this assigns to either a or b depending on c. My implementation
>> effectively turns it into this:
>>
>>     *(c ? &a : &b) = x;
>>
>> So using explicit references and derefs. However, that is internal. The
>> symmetry still exists in the syntax:
>>
>>     (c ? a : b) = (c ? a : b);
> 
> This is only a "visual" symmetry, not a semantical one.
> 
> The LHS of the Algol 68 example is of 'REF' (lvalue) type, as it would
> be the case with a language that supports a syntax as you show it here.

This is where I differ from Algol68, where I had to considerably 
simplify the semantics to get something I could understand and implement.

Take this C:

     int A, B;

     A = B;

There are two types associated with the LHS: 'int*' which is the type 
the name A (its address), and 'int' which is the type of A's value.

So, why would a language choose int* over int as /the/ type of an 
assignment target? As far as the user is concerned, they're only dealing 
with int value types.

If they have to consider that variables have addresses, then the same 
applies to B!

This is where I think Algol68 got it badly wrong.

> 
> I'm not sure if you should adjust your wording (concerning "symmetry")
> given that you seem to widely inflict confusion here.
> 
> Janis
>