Doug Gregor

Dad, husband, Swift language designer and Swift/C++/ObjC compiler implementor, Author, Generic Programming aficionado. He/him.

Doug Gregor boosted:
2025-05-24

Do you have a Raspberry Pi and want to develop Swift apps for it! I've been building some cool tools to help you! Send me a DM if you're interested.

The Edge tools help you quickly flash a pi. Connect to it over USB or WiFi, and just upload and run the app normally from VSCode. Debugging supported.

Doug Gregor boosted:
Vasiliy Kattoufkattouf
2025-05-23

I’m excited to share the first version of Package.swift LSP: github.com/kattouf/package-swi

It’s a lightweight language server that brings autocompletion and context-aware suggestions to your Package.swift, making it easier to work with dependencies and products in Swift Package Manager projects.

The initial release includes editor support for Zed and VSCode, so if you’re using either — I’d love for you to give it a try and share your feedback!

Doug Gregor boosted:
2025-05-20

At last year's conference @things showed how they migrated to Swift on the server. Want to see more stories like this? Tickets are now on sale for this years conference!

serversideswift.info/tickets/

From: @macrumors
mastodon.social/@macrumors/114

2025-05-20

@SimplyDanny Thanks!

2025-05-19

@bigzaphod AnyKeyPath & Sendable, fyi

Doug Gregor boosted:
2025-05-19

Tickets are now live! Super early birds are expected to go very quickly so get them while you can!

serversideswift.info/tickets/

Note - we are planning a workshop day the day before the conference but we need a bit more time to finalise the details. So workshop tickets will be on sale at a later day. We recommend holding off booking travel and accommodation until we've confirmed the details if you're planning on doing the workshops

2025-05-18

@ebariaux I’ll be there Tuesday and Wednesday!

2025-05-17

So… who is coming to #SwiftCraft next week?

2025-05-17

@cocoaphony @mattiem @lvalenta @holly ‘init’ is generally a function. Actor initializers have interesting isolation semantics, though, because they’re responsible for creating the isolation of the new actor. Until the actor is initialized (basically, when self becomes available), we can’t be on the actor because it doesn’t exist. So we could say that an actor initializer with an isolated parameter just never ends up in self’s isolation domain, and that could be okay so long as we keep its state and the state of the isolated parameter disjoint. More on actor initialization is in github.com/swiftlang/swift-evo

Doug Gregor boosted:
Swift Languageswiftlang
2025-05-17

Introducing Swift OPA, which allows you to keep service policies decoupled from service code, giving your security and compliance teams the flexibility they need to manage services built in Swift. blog.openpolicyagent.org/intro @openpolicyagent

Image from https://www.openpolicyagent.org, used under the Apache 2.0 license.
Doug Gregor boosted:
Swift Languageswiftlang
2025-05-15

As the Swift ecosystem grows, we're adding a steering group to help us all coordinate efforts around package and tool development. More here: forums.swift.org/t/announcing-

Doug Gregor boosted:
2025-05-15

I'm pleased to announce that SE-0481: `weak let` has been accepted!

forums.swift.org/t/accepted-se

2025-05-10

@lucas @twostraws @mattiem That is correct. With this change, nonisolated code stays on the actor sheets it was called, whether it is async or synchronous, and you use @concurrent to make it get off the actor and over to the concurrent pool. It means that nonisolated async doesn’t introduce concurrency.

This is behind an upcoming feature, of course, because we can’t change semantics for existing code.

Doug Gregor boosted:
JadenJaden3
2025-05-10

Why is not trending on ?????
This is a black man that was murdered by memphis police and were acquitted by an ALL WHITE jury !
He lay on the ground asking for help from his momma while the cops kicked him to death.
If y'all ain't racist on this app shout out this injustice 🗣🗣

RIP Tyre ❤️

Doug Gregor boosted:
Finn Voorheesfinnvoorhees
2025-05-10

I'd like something to keep tempo with while playing guitar, so let's design a drum sequencer using and the very limited set of parts I have laying around.

2025-05-08

@lvalenta @mattcomi @hal When we treated “don’t know” as true optional, it created a ton of ! noise that made it very hard to work with those C APIs.

2025-05-08

@twostraws It means that either the compiler’s parser is accepting something that should be an error, or the swift-syntax parser is rejecting something that should be correct.

2025-05-08

@twostraws Bug report, please!

2025-05-08

@mattcomi @hal When a C or Objective-C pointer is “nonnull”, Swift treats it as nonoptional. When its “nullable”, Swift treats it as optional. Implicitly unwrapped optionals exist for the “don’t know” case, where C didn’t say one way or the other, and we tried to strike a balance between clarity and safety. Swift would likely not have implicitly unwrapped optionals if not for C interoperability.

Doug Gregor boosted:
2025-05-08

Just published the new EdgeOS Extension for VSCode! This allows you to rapidly deploy, debug and iterate on a Raspberry Pi or (soon) the NVIDIA Jetson!

Next up I'll be developing more libraries for the Swift on Linux ecosystem.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst