You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Interfaces have extremely limited utility and only academic use in real-world scenarios. While working on standardizing an interface, several shortcomings are apparent:
To recognize the problem, see that none of the draft ERCs https://github.com/ethereum/solidity/issues/ are using interface to specify their standards. Instead, they resort to using functions inlined in markdown. And the functions are not even correct (missing public or other warnings). Clearly interface is not filling the needs of today's ERC writers.
Solution
Completely scrap the way interface keyword is understood. Here is the new definition of interface:
An interface is identical to a contract in all ways except that a) an interface cannot inherit from a contract and b) you cannot compile an interface.
Such a definition would be immediately useful and simpler to explain than the current mechanism.
I no longer think this is the correct solution to the interface problem. But I'll keep this issue open until the language redesign is complete as a reminder of the current inconsistencies.
Interfaces have extremely limited utility and only academic use in real-world scenarios. While working on standardizing an interface, several shortcomings are apparent:
To recognize the problem, see that none of the draft ERCs https://github.com/ethereum/solidity/issues/ are using
interface
to specify their standards. Instead, they resort to using functions inlined in markdown. And the functions are not even correct (missing public or other warnings). Clearlyinterface
is not filling the needs of today's ERC writers.Solution
Completely scrap the way
interface
keyword is understood. Here is the new definition ofinterface
:Such a definition would be immediately useful and simpler to explain than the current mechanism.
Additional work:
The text was updated successfully, but these errors were encountered: