Matt Massicotte's Avatar

Matt Massicotte

@massicotte.org

apple platform dev, outdoors, justice, games, he/him Every problem has a simple wrong answer https://github.com/mattmassicotte https://www.massicotte.org https://mastodon.social/@mattiem

2,700
Followers
1,361
Following
2,151
Posts
11.11.2024
Joined
Posts Following

Latest posts by Matt Massicotte @massicotte.org

Preview
Pitch: `Continuation` — Safe and Performant Async Continuations @ktoso and I would like to pitch a new Continuation type for the stdlib. You can view the latest and full draft as a Swift evolution PR. Continuation — Safe and Performant Async Continuations Proposal: SE-NNNN Authors: Fabian Fett, Konrad Malawski Review Manager: TBD Status: Pitch Implementation: PR in Swift Async Algorithms Related Proposals: SE-0300: Continuations for interfacing async tasks with synchronous code SE-0390: Noncopyable structs and enums SE-0413: Typed throws Summary We pr...

Ohh a simpler and safer continuation type!

06.03.2026 11:21 👍 10 🔁 1 💬 0 📌 0

This can be a very hard mode to support.

I *think* a big part of it is indicating "this protocol cannot be used only from the MainActor", which you express with a conformance to SendableMetatype.

But I'm interested in specific examples of things you are running into! Please share!

06.03.2026 11:01 👍 0 🔁 0 💬 0 📌 0

Does this mean you have public protocols that you want to keep compatible with clients using MainActor by default, or that your library is using it?

06.03.2026 10:24 👍 0 🔁 0 💬 1 📌 0

Ah!

So there are no edge cases I'm aware of here. You make the API you want. If you want to give clients the ability to use it without checks, you add "@.preconcurrency" to your public APIs. I don't think 6.2 changes anything about this…

05.03.2026 21:00 👍 1 🔁 0 💬 1 📌 0
Post image

We're fuelling up for another year of SwiftLeeds, and we need YOU in the cockpit.

Whether you want to talk about SwiftUI, Swift concurrency, server-side Swift, accessibility, or something we haven't even thought of — we'd love to see your submission.

Submit your talk idea → swiftleeds.co.uk/cfp

02.03.2026 10:36 👍 3 🔁 2 💬 0 📌 1

So, if anyone out there knows someone who knows someone who's looking for someone who is an experienced engineer, and is also a very good communicator and designer and guy-who-actually-understands-how-to-make-products-good...let me know.

27.02.2026 19:07 👍 5 🔁 1 💬 1 📌 0
GitHub - mattmassicotte/TaskGate: An tool for managing actor reentrancy with Swift Concurrency An tool for managing actor reentrancy with Swift Concurrency - mattmassicotte/TaskGate

After a thoughtful nudge, I have renamed my "Lock" package to use the term "Gate". And while I was in there, I updated a bunch of things, including finally getting a recursive gate working!

I have found this kind of tool incredibly useful for managing actor reentrancy with Swift Concurrency.

27.02.2026 17:20 👍 10 🔁 0 💬 0 📌 0

Same

27.02.2026 04:15 👍 7 🔁 2 💬 0 📌 0

Marisa is legit. Please share if you know someone she can talk to.

26.02.2026 16:41 👍 100 🔁 22 💬 1 📌 1
Preview
Cannot using `sending` with `some` return value · Issue #74846 · swiftlang/swift Description Hmm, shouldn't this be allowed? It is a result! test.swift:7:21: error: 'sending' may only be used on parameters and results 5 | } 6 | 7 | func makeThing() -> sending some MyProtocol { ...

It's a pretty esoteric thing, but I had to call it out because it's so nice to see small things get fixed. The mysterious JamieQ saves the day yet again.

26.02.2026 12:23 👍 7 🔁 0 💬 0 📌 0

Very basic, just playing around with NetNewsWire…

26.02.2026 01:41 👍 1 🔁 0 💬 0 📌 0

Not yet!

25.02.2026 14:20 👍 1 🔁 0 💬 0 📌 0

I think I may be an RSS person now

25.02.2026 11:28 👍 21 🔁 0 💬 3 📌 0

Ohhh that's a very interesting point!

24.02.2026 13:29 👍 1 🔁 0 💬 0 📌 0

While I am inclined to agree, it is technically possible to remove "temperature" and make LLM output deterministic. It makes it much worse, if I understand right, but it is a fascinating aspect.

24.02.2026 13:11 👍 1 🔁 0 💬 2 📌 0
I am not a calculator I am not a calculator

😆

I attempted to tackle this question here, in case it is interesting

24.02.2026 13:02 👍 3 🔁 0 💬 3 📌 0

If you ask me to solve a problem for you, do I become a tool?

24.02.2026 12:54 👍 3 🔁 0 💬 1 📌 0

Content-addressable memory!

24.02.2026 12:09 👍 2 🔁 0 💬 1 📌 0

Is non-artificial intelligence a tool?

24.02.2026 12:07 👍 0 🔁 0 💬 1 📌 0

I find the idea that AI is a compiler or abstraction very strange. But I do think "delegation" is getting closer.

(I still don't buy that it is a "tool", even if it can be used like one.)

24.02.2026 11:13 👍 6 🔁 0 💬 5 📌 0

The cocoaheads group there was amazing, and worth checking out

24.02.2026 10:53 👍 1 🔁 0 💬 1 📌 0

Ok I understand what you were all saying about Subnautica now

23.02.2026 01:18 👍 6 🔁 0 💬 3 📌 0

I was not even aware of trailers until now. Thanks, I hate it too.

21.02.2026 12:30 👍 4 🔁 0 💬 0 📌 0

Was definitely not clear!

I'm observing that a large percentage of new swift packages have generated readmes with lists of features that are part of the compiler and not the package itself.

20.02.2026 14:58 👍 5 🔁 0 💬 1 📌 0
Preview
GitHub - lukilabs/beautiful-mermaid-swift: Native Mermaid diagram renderer for Swift Native Mermaid diagram renderer for Swift. Contribute to lukilabs/beautiful-mermaid-swift development by creating an account on GitHub.

Look what I just found:

20.02.2026 13:10 👍 3 🔁 0 💬 1 📌 0

I enjoyed it! But I do get what you are saying.

20.02.2026 12:24 👍 0 🔁 0 💬 1 📌 0

🚀 valid syntax
✅ completely type-safe
🔐 full actor isolation
📦 uses Package.swift

20.02.2026 12:04 👍 10 🔁 0 💬 2 📌 0

I think it's important to listen attentively and really try to understand a different perspective before yelling "WRONG WRONG NO NO WRONG"

19.02.2026 22:59 👍 9 🔁 0 💬 0 📌 0

Yes! I want all battery levels on all devices!

19.02.2026 21:29 👍 1 🔁 0 💬 1 📌 0

I very much agree it is overwhelming and uncertain.

19.02.2026 12:23 👍 1 🔁 0 💬 0 📌 0