Introducing Core Solidity
summary
Core Solidity rebuilds the type system and compiler pipeline to add generics and type classes, algebraic data types with pattern matching, type inference, higher‑order/anonymous functions and planned compile‑time evaluation. A new mid‑level IR called SALE IR encodes algebraic types, pattern matching and generics. A prototype standard library provides ABI encoding and dispatch generation and already compiles an ERC20; it replaces dozens of overloaded console.log variants with a single type‑class‑driven function. Module system and CT evaluation remain to finish before stability.
AI-written summary · about
chapters (29)
- 0:00Core Solidity intro
- 1:06Why Core Solidity created
- 2:13Algebraic data types
- 3:39Pattern matching
- 4:43Generics and polymorphism
- 6:31Type classes for overloading
- 8:20Type class constraints
- 9:24Higher-order functions
- 11:11Type inference
- 13:40Boilerplate reduction
- 16:10SALE intermediate language
- 18:01Transition from classic Solidity
- 18:44Classic vs Core Solidity syntax
- 20:09Prototype and standard library
- 20:52Next steps for production
- 21:57Future features
- 22:43Macros and extensibility
- 23:25Summary of goals
- 24:08Q&A: std in simple contracts
- 25:17Q&A: Timeline
- 26:40Q&A: Algebraic types and ABI
- 27:46Q&A: Stack-too-deep errors
- 28:53Q&A: Security features
- 30:19Q&A: Standard library
- 32:08Q&A: Higher-kinded types
- 32:51Q&A: Language Server
- 33:12Q&A: Gas cost
- 33:54Q&A: Cross-contract types
- 34:36Q&A: Solidity 1.0 gaps
related talks
37mExperimental Solidity
37mSolidity in 2022: Recent and Planned Features
11mSolidity in 2023
12mPlank: The New Best Way to Develop Smart Contracts
15mWhat would Solidity look like if it was built today?
20mSlang Building Solidity Compiler APIs from a Declarative Language Specification
01h 38mGHC Core Optimisations
29mSynthesis-Powered Optimization of Smart Contracts via Data Type Refactoring
