Carbon Copy No. 6

24 views
Skip to first unread message

Daniel 'Wolff' Dobson

unread,
Mar 12, 2025, 4:26:30 PMMar 12
to anno...@carbon-lang.dev

Carbon Copy, March 2025

Here is the new Carbon Copy, your periodic update on the Carbon language!


Carbon Copy is designed for those people who want a high-level view of what's happening on the project. If you'd like to subscribe, you can join anno...@carbon-lang.dev. Carbon Copy should arrive roughly (sometimes very roughly) every other month.

Toolchain update

We continue to work on the toolchain, which is now available experimentally in the Compiler Explorer. https://carbon.compiler-explorer.com/ 


  • Although you can get nightly builds to run on your Linux host, this may be the fastest way to experiment with Carbon.

  • Compiler Explorer no longer uses the prototype interpreter (called the Carbon Explorer) since the toolchain is now far enough along, and is more representative of Carbon's current design.


Thanks to Matt Godbolt!

Carbon in 2024 and roadmap for 2025

Looking back at 2024, Carbon has made great progress. We set out a number of ambitious goals in our roadmap and overall, we achieved the majority of what we set out for 2024. 


A handful of highlights, among so many, from 2024:


  • The toolchain: This year, we started building the toolchain. It allows you to compile Carbon code and execute it, and nightly releases for Carbon are available.

  • Advent of Code: Although the toolchain is still experimental, it has enough support to solve Advent of Code 2024 in Carbon! Check out these thirteen solutions for 2024 challenges. 

  • Variadics: Designing a variadics system with good ergonomics that can be definition-checked efficiently turned out to be a much deeper challenge than we anticipated, but after more than 2 years, it was merged on Dec. 10th, 2024. You can catch geoffromer@'s talk from CppNow here.[1]

  • Clang: We made strides in C++ interop by integrating Clang into the toolchain, such that both C++ and Carbon can be compiled.

  • VS Code integration: VS Code has experimental support for Carbon now via an extension.


Ahead in 2025


We have two areas of focus for 2025:


  1. Get a major chunk of our C++ interop working. The Carbon experiment needs to show that C++ interop works, so C++ interop has always been part of the roadmap. It is also a way to make capabilities available to Carbon that may otherwise be farther out on the implementation list. Note: This is scoped to non-template C++ APIs. 


  1. Build a concrete and specific design for memory safety in Carbon. To understand memory safety in Carbon, we should illustrate exactly what it looks like to migrate existing unsafe C++ to Carbon, and then make it more safe by integrating memory safe parts of Carbon into it.


The addition of a safety design is a shift in our milestones for v0.1, and you can see the difference here. Both of these are fundamental parts of v0.1, and will take long enough that the earliest date for v0.1 is pushed out to the end of 2026. See all the proposed key results for 2025 in the new roadmap


We could not have made it this far without our amazing community, and we look forward to working together this year. Stay tuned!


References:

Recent proposals and issues

Approved & merged proposals since last newsletter:

  • Destructor syntax #5017

  • The Core.Array type for direct-storage immutably-sized buffers #4682

  • Safety milestones and a 2025 roadmap #4880

  • No predeclared identifiers #4864

  • Variadics #2240


New leads questions:

  • Precedence diagram is missing partial operator #5010

  • Out-of-line destructor syntax ambiguity #4999

  • Should it be valid to define a package named r#Core? #4908

  • What to do with impl Interface1 as Interface2? #4853

  • Syntax for implementing a single-function interfaces #4711

  • Declaration and definition of impls and their associated functions #4672

Carbon at Large


Update from last issue:

Other notes

If you want more current discussion, check out 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!


Buckminsterfullerene-ly yours,

Josh, Wolff, and the Carbon team


[1] Shout out to @kaBeech's 2023 Day 2 solution from last year, running in the Carbon Explorer, pre-toolchain.

Reply all
Reply to author
Forward
0 new messages