On Monday, January 2, 2023 at 12:48:17 PM UTC-3, Tim Rentsch wrote:
> This proposal is painfully bad, along a variety of axes.
> Perhaps the most important axes are that it isn't clear exactly
> what is being proposed,
The proposal (draft) describes, with examples, how a programmer writes generic functions/parametric types and how a compiler translates them in stages; what's left unclear in your opinion?
> and to the extent that what is being
> proposed is evident it looks like it is not very well thought
> out.
Could you justify this claim?
> The constructs described look like they are more or less a
> trimmed-down version of C++ templates,
Why do you think so?
The constructs involved in the proposal, along with the instantiation mechanism―which isn't based on template argument deduction rule/two-phase name lookup―, aren't borrowed from C++.
In terms of the expressivity of the design, it's sort of a "trimmed-down version" of C++ templates, just as it's a trimmed-down version of generics in C#/Java/Go, typeclasses in Haskell, etc.
> but with an even worse
> syntax than templates (and I can't tell what differences there
> might be in the semantics, in areas where the two overlap).
If you don't like the syntax, fine... but there shouldn't be a single overlap in the semantics; could you point out to me what you refer to?
> Also the writing and presentation are awful, which really doesn't
> help.
Again, without a justification (e.g., in terms of writing/presentation criteria), your statement doesn't have any credibility.
> I am sympathetic to the idea that C might benefit from having
> some kind of template or parameterized type mechanism, but what
> is suggested in this proposal is not it.
What a cliché.
> Specific comment: don't use the word "generic". C already has a
> construct that could be called "generic", namely _Generic.
_Generic is addressed in the proposal; where the use of the word "generic" is intentional (and explained).