...would everyone hate me if I wrote a paper that allowed
T foo[2];
and
T[2] foo;
to mean the same thing as far as type declarations go in C?

✨ Somehow Is A C Expert ✨ Smooches Unicode-kun 💕 Pixel Art is Cool 🎨 Banner by Bugurri and Avatar by KIING KIISMET ✨
...would everyone hate me if I wrote a paper that allowed
T foo[2];
and
T[2] foo;
to mean the same thing as far as type declarations go in C?
how far can you go with this? would it be possible to write R (*)(A1, A2) function_pointer; instead of R (*function_pointer)(A1, A2) too? or R (*) (A1, A2) (*) (R (*) (A1, A2)) function_pointer_returning_function_pointer?
I could. I was mostly thinking of just doing [], but doing pointers with the asterisks -- and by extension function pointers and all the other etc. as well -- would be pretty beneficial.
yeah i haven't thought through all the potential ambiguities, but it'd be nice for complex type specifications in general if you could write typeof(T) foo; as T foo; (using typeof in the "parens for type declarators" way)
tbh the goal for me is to make function declarations and function pointer type declarations be at least mildly normal when using [] as part of it. (Right now it goes at the end after the arguments and its both awkward and absurd.)
is this part of your quest to implement a proper slice type?
Yes, to make it less absurd to use array declarators with e.g. function pointer types and function returns.
Oh you mean the sensible looking way? What kind of backward compat implications are there? I guess if the syntax was invalid before, it should be fine.