Sujet : Re: Top 10 most common hard skills listed on resumes...
De : bc (at) *nospam* freeuk.com (Bart)
Groupes : comp.lang.cDate : 29. Aug 2024, 15:10:29
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vaps06$3vg8l$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
User-Agent : Mozilla Thunderbird
On 29/08/2024 13:35, Ben Bacarisse wrote:
Bart <bc@freeuk.com> writes:
I explained that. LHS and RHS can be identical terms for assignment in
pretty much every aspect, but there are extra constraints on the LHS.
So you use "exactly the same" to mean "exactly the same except for the
differences".
No, I do mean exactly the same, both in terms of syntax and (in my implementations, which are likely typical) internal representation of those terms.
There are no differences other than where the type system says your code is invalid. So are no differences when considering only valid programs.
This program in my language:
42 := 42
is valid syntax. It passes the next step too. It is caught later on. Other languages/implementations may object earlier.
Some may make it invalid syntax via a stricter grammar, but if I try '42 = 42' in C, then I don't get a syntax error; I get a message about 42 not being an lvalue. (From what I can make of C's grammar, a constant is allowed on the left of an assignment operator.)
I don't know why you're always so contradictory. Is it a game trying to
catch me out on some pendanty? It seems to be popular here.
I wanted to explain how BLISS gets rid of the lvalue/rvalue distinction
because you seemed to have misunderstood it.
It seems to make a dog's dinner of it. I think even in Lisp you just write (setf a a) or something like that. And here you are assigning a's value to itself.
(I never came across BLISS even though I used DEC equipment. I did implement a lower level language for PDP10 though, more of a HLA. But even there, you would write A => A to asssign A's value to itself. I can't remember how you obtained a reference to A.)