As the Ethereum ecosystem continues to push for safer, more expressive smart contract development, the team behind Solidity has shared a comprehensive status update on Core Solidity as of October 2026. Designed as an advanced frontend for the existing solc compiler, Core Solidity introduces modern language paradigms—such as algebraic data types, pattern matching, generics, traits, and compile-time evaluation—while retaining the trusted backend infrastructure that developers have relied on for years.
The project, which has been detailed across several design posts and deep dives over the past year, aims to modernize the developer experience without fragmenting the underlying Ethereum execution layer. Core Solidity compiles directly down to Yul. From that intermediate representation onward, the bytecode is produced by the exact same optimizer and code generator that solc currently uses for Classic Solidity. Despite early misconceptions among some community members, the development team has reiterated that Core Solidity is not intended to replace the entire compiler stack, but rather to serve as an evolved frontend that shifts much of the compiler’s built-in logic into a standard library written in the language itself.
Current State of the Language and Syntax Evolution
Over the summer, the engineering team heavily reworked the language’s syntax to align much more closely with Classic Solidity. Consequently, code samples published in earlier design posts use a provisional syntax and no longer compile, though the underlying concepts remain entirely valid.
Modern Core Solidity code introduces several distinct structural changes. Types now follow names in what is known as a postfix notation, such as phase: Phase or amount: uint256. Furthermore, scoping has become strictly modular: nothing beyond a minimal set of built-in types is in scope by default unless explicitly imported, which includes the standard library itself.
A prime example of the language’s current capabilities is an escrow contract where the lifecycle is managed by an enum stored in a state variable. In Core Solidity, an enum variant can carry associated data, functioning as a true algebraic data type. The standard library provides basic types and runtime functions, while specialized modules handle dispatch logic and storage mapping. Pattern matching via match statements allows developers to deconstruct these types safely, with the compiler automatically rejecting any match block that leaves cases unhandled without a default arm.
While the prototype successfully compiles complex existing contracts—including ports of the Ethereum deposit contract, WETH9, and a minimal ERC20 token—certain rough edges remain. Custom errors are not yet implemented, meaning reverts currently rely on plain strings, and control flow quirks require specific workaround lines that the team is actively tracking on GitHub. Gas costs and code size metrics have not yet been rigorously optimized or compared against Classic Solidity, as the current focus remains strictly on feature completeness and language ergonomics.
Exploring Modules and Composition Without Inheritance
One of the most profound shifts in Core Solidity is the complete absence of traditional inheritance. The language features no virtual keywords, no abstract contracts, and no Classic-style libraries. Instead, code reuse and modularity are achieved entirely through composition using traits and modules.
In Core Solidity modules, internal functions remain private by default. A function from a module can only be exposed externally if the contract author explicitly wraps it in a public function. This design gives developers granular control over a contract’s public surface area. A reusable module can own its internal storage state and export ordinary helper functions, while the consuming contract selectively wraps only the necessary behaviors into its public interface.
Auditors and security researchers who have reviewed early examples have responded favorably to this paradigm, noting that identifying the exposed attack surface of a contract is significantly simplified when inheritance hierarchies are removed. However, some teams that rely heavily on established inheritance patterns are waiting to see how large-scale, real-world production contracts handle complex composition before forming a definitive adoption strategy. Current prototype examples utilize ERC-7201 namespaced storage slots to manage state within modules, though native language-level support for this pattern is still evolving.
Community Feedback, Tooling, and Qualitative Interviews
Since March 2026, the Core Solidity team has conducted nearly twenty qualitative interviews with protocol developers, security auditors, educators, tool maintainers, and language researchers. Participants were given walkthroughs of Core Solidity code within the web-based playground, providing immediate qualitative feedback on readability and usability.
Algebraic data types and pattern matching received overwhelming praise, particularly the compiler safety guarantee that forces developers to handle every variant of a data structure. Most reviewers unacquainted with the project were able to read and comprehend Core Solidity contracts intuitively, noting its strong visual and structural familiality with Classic Solidity.
Regarding tooling, maintainers of static analysis and developer utilities reported that supporting Core Solidity will likely require moderate adjustments. Tools that rely purely on abstract syntax trees will primarily need a new parser, while bytecode-level analyzers will remain largely unaffected. Static analyzers that perform deep type-checking will require updates tailored to the new type system. Meanwhile, established enterprise projects indicated they would approach Core Solidity with traditional conservatism, waiting for stable releases, comprehensive documentation, and mature auditing frameworks before considering production migration.
Open Questions on ABI Compatibility and Standard Library Scope
As development presses forward, two major design questions remain open for community debate: ABI compatibility and the scope of the standard library.
Core Solidity is architected to utilize the exact same ABI as Classic Solidity, ensuring that Core Solidity contracts can seamlessly make external calls to existing Classic contracts. However, the reverse direction presents structural challenges. Because algebraic data types carry rich internal structures that are not defined in the current Ethereum ABI specification, standard Classic Solidity contracts or other external tools cannot natively interpret every Core Solidity interface without additional wrapping. While some community members view this as a low-priority concern, others advocate for bidirectional compatibility to maintain maximum interoperability across the ecosystem.
The second open question concerns the breadth of the standard library. Opinions span from keeping the library as minimal as possible to building a comprehensive suite of utilities out of the box. Proponents of a lean standard library argue that minimizing core code reduces the surface area for latent bugs that could propagate across all dependent projects. The core team continues to gather community sentiment on both topics.
Future Roadmap and Upcoming Events
The immediate roadmap for Core Solidity includes scoping a formal, installable release of the prototype to gather broader developer feedback ahead of any mainnet readiness timeline. Documentation updates, deeper technical dives into inheritance-free composition, and structured community processes for the standard library are currently underway in the solcore repository.
The team will present these developments on the global stage in November, featuring a dedicated talk at the DeFi Security Summit and a hands-on smart contract workshop at Devcon. Developers, auditors, and language enthusiasts interested in participating in ongoing feedback interviews or reviewing the experimental codebase can engage through the official GitHub repositories, weekly public team calls, or direct correspondence with the development team.






