Skip to content

Are we explorer yet?

Jon Ross-Perkins edited this page Aug 24, 2022 · 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
    • ✅ While loops
    • ✅ Variable declarations
    • ❌ For loops (#1592)
    • ✅ Variable initialization tracking
    • ✅ Returned var
    • ❌ Variadics
  • ❌ User defined types
  • ✅ Alias system
  • ❌ OO programming
    • ❌ Inheritance (#1881)
    • ❌ Parameterized class methods w/ inheritance
    • ❌ 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
    • ❌ != (#1549)
    • ❌ Constraints
    • ✅ Implicit “as”
    • ❌ Extension interfaces using default fn
    • ❌ Extension interfaces using constraint
  • ❌ Error handling
  • ✅ Prelude
    • ✅ Print function
  • ❌ Types
    • ✅ i32
    • ❌ Other integral types (#767)
    • ❌ Integral types as library types instead of native
    • ✅ Tuples
    • ✅ Pointer
    • ✅ Functions
    • ✅ Bool
    • ✅ String
    • ❌ Floating point types (#767)
    • ✅ Raw string literals
      • Will need edits for proposal #1360
  • ❌ Code organization
    • ❌ Mixins (#2069)
    • ❌ Imports and packages (#742)
    • ❌ Namespaces (#743)
Clone this wiki locally