-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Are we explorer yet?
Gmos edited this page Aug 11, 2023
·
16 revisions
This wiki page attempts to answer the question "Are we explorer yet?". In other words, what gaps exist between the current state of the system and when we can say with confidence that explorer is "done" at a reasonable level.
Note that explorer is not intended to become a complete implementation of carbon. Items that are specifically out of scope for this AreWeYet are C++ interop (likely never a target for explorer), metaprogramming, parallel programming, and coroutines. The last three are likely substantial enough to merit their own AreWeYet pages.
- ❌ Structured programming
- ❌ Compound assignment
- ✅ For loops (#1592)
- ✅ Returned var
- ✅ Variable declarations
- ✅ Variable initialization tracking
- ❌ Variadics
- ✅ While loops
- ❌ User defined types
- ✅ structs
- ✅ classes
- ❌ choice
- ✅ Alias system
- ❌ OO programming
- ✅ Inheritance (#1881)
- ❌ Virtual methods
- ✅ Simple virtual methods (
virtual
,impl
) - ❌ Abstract methods (#2512,
good first issue
) - ❌ Full virtual override logic
- ✅ Simple virtual methods (
- ❌ Parameterized class methods w/ inheritance
- ✅ Destructors
- ✅ Non-virtual destructors
- ✅ Virtual destructors
- ✅ Methods
- ✅ Static functions / Class functions
- ❌ Generic programming
- ✅ Generic classes
- ❌ Generic methods
- ✅ Generic functions
- ✅ Interfaces
- ✅ Generic Interfaces
- ✅ Impls
- ✅ Generic Impls
- ❌ Impl specialization
- ❌ Templates
- ❌ Operator overloading
- ✅ Many operators
- ❌ Constraints
- ✅ Implicit “as”
- ❌ Extension interfaces using
default fn
- ❌ Extension interfaces using
constraint
- ❌ Error handling
- ✅ Prelude
- ✅ Print function
- ❌ Types
- ❌ Code organization