Deutsch English Français Italiano |
<vbps3c$31s4d$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!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: Tue, 10 Sep 2024 17:28:29 +0100 Organization: A noiseless patient Spider Lines: 47 Message-ID: <vbps3c$31s4d$1@dont-email.me> References: <vab101$3er$1@reader1.panix.com> <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> <vbgb5q$1ruv8$1@paganini.bofh.team> <vbhbbb$1blt4$1@dont-email.me> <87tteqktr8.fsf@bsb.me.uk> <vbkjqk$201ms$1@dont-email.me> <87ttenk2nq.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 10 Sep 2024 18:28:29 +0200 (CEST) Injection-Info: dont-email.me; posting-host="dcf5d3c489b4c68fb3a29f50d34b534a"; logging-data="3207309"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ENEAueNYs05BS4Trknbph" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:BCQCb8Bn7f7THs8PrV1mz/Vtshc= Content-Language: en-GB In-Reply-To: <87ttenk2nq.fsf@bsb.me.uk> Bytes: 3730 On 10/09/2024 15:24, Ben Bacarisse wrote: > Bart <bc@freeuk.com> writes: >> Someone objects that you can't in general apply & to arbitrary, unnamed, >> transient, intermediate values such as 'a + 1'. > > or even just 1. '1' isn't as good an example; I wanted something that necessarily has to be in a transient location like a register. Constants can exist as immediate fields in instructions, or in actual memory (eg. for floats). > >> I showed how you could do that using anonymous compound literals which >> avoids having to create an explicit named temporary which in standard C >> would need to be outside of that assignment call. >> >> But you apparently have a problem it. > > Because you called it a reference to a+1. The reference is to an > object. > > I don't know if you were deliberately twisting the term because you are > now 100% committed to some false symmetry in assignments, or whether you > are just very loose in your use of terms, but rvalue expressions (C does > not really use the term, but it's better than non-lvalue expressions) > can't have "references" to them. That was all that Waldek Hebisch was > saying. Did you think for a second that he did not know that if you put > an int value into an object you can take the pointer to that object? He took the symmetry I was claiming for assignment, and created an asymmetric counter-example where the dereferencing part of the LHS was moved into a function, necessitating the creation of a discrete reference for the LHS. I created a counter-counter-example where dereferences on both sides were moved into the function, so restoring the symmetry. And yes I'm still committed to that symmetry. I'ved used it for countless language implementations. C is little different other than it has a 700-page standard that suggests a recommended model of how it's supposed to work. You can't really use that to bash me about the head with and maintain that all my ideas about language implementation are wrong because C views assignment in its own idiosyncratic manner.