Hello Swift community,
The review of SE-0428: Resolve DistributedActor
protocols ran from March 13 through April 2. The Language Steering Group has decided to accept the proposal with modifications. Specifically, the decision was made to change the spelling of the attached macro in the proposal from @DistributedProtocol
to @Resolvable
(or @Distributed.Resolvable
if disambiguation is needed).
Overall reception of the feature was quite positive, and there was broad agreement that this was a problem worth solving. Feedback received from those that tried the feature validated that it addressed desired use cases.
Much of the discussion centered on the spelling of this feature, both the decision to implement the code generation portion as an attached macro, and the spelling of that macro itself. The Language Steering Group agreed with the arguments that because the core of this feature can be implemented entirely with macro-based code generation, we should surface it as such in the language. The DistributedActor
protocol (and protocols which inherit from it) are not new for this proposal, and so the Language Steering Group felt that the macro approach fit squarely within the originally-conceived design philosophy of macros.
With regards to the spelling, the Group agreed that @DistributedProtocol
did not accurately capture the functionality this macro implements:
After discussion, the Language Steering Group decided to adopt the author's suggestion of the @Resolvable
spelling to capture this meaning. While the name is fairly general, the Group was satisfied that this was acceptable since it would only be visible when users had already imported the Distributed
module, and because users could disambiguate as @Distributed.Resolvable
as needed.
Thank you to everyone who participated in the review!
Freddy Kellison-Linn
Review Manager