I see that as part of the open issue for generics in solidity Issue #13776 generics seem to have been removed from the “Solidity Roadmap” github project.
Are generics no longer planned for Solidity? If they are planned where we can track the progress of language design / implementation progress?
1 Like
Generics are still very much planned, they occur in the current Roadmap under the broader term “Experimental Solidity” (although we haven’t updated the roadmap in a while, I’ll try to find some time to make it more accurately reflect the current state of things).
The idea here is that instead of hacking some kind of generic functions directly into the current state of the language, we instead have been externally developing a more logically grounded replacement for the language’s type system, which is built to support parametric polymorphism and type classes/traits from the ground up, and will reconstruct the functionality of the current language mostly based on in-language constructions of a standard library relative to that new type system. Vish already linked to the previous presentations of this plan following your comment in High-Level Language Support for Transient Storage · Issue #15007 · ethereum/solidity · GitHub - we plan to share some major updates on the developments since then in the next months, until then I’d ask for a bit more of patience.
2 Likes
I see, good to know. Is there a public project board similar to the old where progress can be tracked? Very eager to see what’s being cooked on.
Also not sure if this is the right place to reach out but I feel the Solidity compiler & team don’t get enough attention, would any of the engineers be down to come onto my friend’s technical podcast “Into the Bytecode”, walking through some parts of the solc compiler and how it works?
I think being more public would really help curb some of the Dunning Kruger me and other people suffer from when it comes to discussing the technical challenges associated with some of the issues regarding Solidity (“oh but why don’t we have generics yet”, “why didn’t the just go fix stack too deep”, “why is via IR so slow”, “what’s up with modifiers and inheritance”, “why does Solidity not do X low-level optimization”).
Would really love to better understand why things are the way they are and maybe give people ways they can help/contribute.
3 Likes