Carbon Copy #1: February 2024

87 views
Skip to first unread message

Daniel 'Wolff' Dobson

unread,
Feb 2, 2024, 12:36:59 PM2/2/24
to anno...@carbon-lang.dev

Carbon Copy, Feb. 2024

Welcome to Carbon Copy, a periodic update on the Carbon language! 


We know that there are folks excited about the Carbon language who may lack time to follow the day-to-day work on Discord or Github. Carbon Copy is designed for those people who want a high-level view of what's happening on the project. This issue is a little longer than future ones as we're starting from scratch.


If you'd like to subscribe, you can join anno...@carbon-lang.dev. Carbon Copy should arrive roughly every other month.

Spotlight: Carbon goals and roadmap for 2024

As this is our first ever edition, and the first Carbon Copy of 2024, let's look back at 2023. 


To borrow from the 2023 retrospective, our roadmap for 2023 focused on getting both the language and tools ready for evaluation.


We made fantastic progress on getting the language (design) ready by closing the most critical design gaps identified at the beginning of the year. While the tooling side made remarkable progress, it also started at a much earlier stage and so has a lot further to go. 


We accepted many key proposals on topics such as values, variables, pointers, references, and inheritance. Here is some sample code illustrating some of these features[1]:


base class Base {

  var b: i32;

}


class Derived {

  extend base: Base;


  var d: i32;

}


fn Make() -> Derived {

  return {.base = {.b = 4}, .d = 7};

}


We also engaged more deeply with the C++ community, but it's clear we need a working compiler to further the conversation. This need for tooling is driving our 2024 priorities, with a potential v0.1 release in 2025. Get more details on our deliverables in the announcements below.


To see what v0.1 might include, check out "Defining the 0.1 language" and expected milestones

Top announcements

Announcement: 2024 roadmap from #3564

  • Objective for 2024: a working toolchain that supports C++ interop

    • Building realistic Carbon code for interesting interop with C++

    • Building realistic C++ code for interesting interop with Carbon

    • The interop itself allows a single program mixing the two languages

  • Key results for 2024

    • Carbon's toolchain implements enough of the language to build realistic code

    • Carbon's toolchain can build C++ code

    • Carbon's toolchain works with existing, simple C++ build systems

    • Carbon has a design and toolchain implementation of basic C++ interop

    • Give talks at 2-3 conferences covering 3-4 different Carbon topics


Announcement: Focus implementation effort on the toolchain #3532

Talks and blogs from the team in 2023

Talks:


Recent Carbon blog posts

Top proposals and issues from 2023

  • Checked generics calling templates #2153

  • Name conflicts between base and derived classes #2355

Other notes

If you like this set of links, you'll love the weekly meeting notes, from the Carbon Weekly Sync.

Wrap-up

Don't forget to subscribe; you can join anno...@carbon-lang.dev. If you have comments or would like to contribute to future editions of Carbon Copy, please reach out.  And, always, join us any way you can!


Carboniferously yours,

Wolff, Josh, and the Carbon team


Elemental facts:  People are made up of around 18.5% carbon!  The only element more common in humans is oxygen.


Reply all
Reply to author
Forward
0 new messages