Liste des Groupes | Revenir à cl c |
On 12/09/2024 00:32, Ben Bacarisse wrote:Bart <bc@freeuk.com> writes:>
On 11/09/2024 01:22, Ben Bacarisse wrote:And you've stated that there are differences but of course you haven'tBart <bc@freeuk.com> writes:>
>And yes I'm still committed to that symmetry. I'ved used it for countlessI don't want to bash you about the head, but what C says about
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.
assignment has /always/ been the point, and your implementation of C
will be wrong if you don't follow the rules about C's assignments. You
/know/ the LH and RH side of a C assignment have different constraints
(you have said so yourself) yet you persist in defending your original
claim that what is needed on the two sides "is exactly the same".
I've listed the aspects that I said are the same.
listed them (as far as I can tell).
That is, if something is a legal LHS term, then its syntax, and its type,And you have /not/ stated, though you know it perfectly well, that the
are identical to that term appearing on the RHS.
reverse does /not/ apply -- that many "legal" RHS expressions can't
appear, legally, on the LHS.
Clearly all RHSs can't appear on the left; this is OK:
>
A = A + A + A + A;
>
but not:
>
A + A + A + A = A;
As for differences, there is my AST for A = B:
>
i32-- 1 assign:
i32-- - 1 name: a
i32-- - 2 name: b
>
Same node type, same type. What are the differences?
>Or people simply can't grasp what I'm saying. I've given a millionBut your mistake is not that there are not millions of identical
examples of identical LHSs and RHSs,
(looking) LH sides and RH sides. No one disputes that. But in reply to
my statement that what is /required/ on both sides is not the same, you
said "I would argue that it is exactly the same".
I think you're still not getting it. In C you write:
>
A = B
>
to assign simple value types. Or you write B = A the other way around.
You write A as A, B as B no matter which side it is.
>
In BLISS which you claim to be more symmetric, you have to write:
>
A = .B
>
for the same operation (copy B's value into A), or B = .A for the other way
around.
Les messages affichés proviennent d'usenet.