Closed BasThomas closed 4 years ago
SE-0268 (Review #2) — Review didSet Semantics
The second review of SE-0268 — Refine didSet Semantics begins now and runs through December 9th, 2019.
https://forums.swift.org/t/se-0268-review-2-review-didset-semantics/31396
Anonymous Structs
Introduction
This proposal introduces anonymous structs using closure-inspired syntactic sugar as an alternative to a more verbose local struct declaration. As with closures, trailing syntax is supported.
Initial Swift-evolution discussion thread: Equality Of Functions
[Returned for revision] SE-0270 Add Collection Operations on Noncontiguous Elements
The review of SE-0270: Add Collection Operations on Noncontiguous Elements has concluded.
The review yielded a mixed signal:
- There was significant support for providing a set data structure of arbitrary (e.g. non-Int) indices.
- There was significant confusion (including on my part!) about the intended meaning of the proposed set type, which was documented as having two different element types.
- There was almost no feedback about the stated topic of the review, "Operations on Noncontiguous Elements" which—in fairness—did not constitute the bulk of the proposal.
- There was lots of disagreement about naming choices, driven at least in part by the unclear answer to the “what is this thing?” question.
The first and third starter tasks have already been resolved (the third was fixed by Doug but he hasn’t assigned the ticket to him)
What the eff is DeclNameRef?
As part of my work towards module-qualified names, I've added a new type to the compiler,
DeclNameRef
, and adopted it across much of the frontend. If you hack on the compiler a lot, you're suddenly going to see this thing everywhere, so I thought I'd explain a few things about it.What is it?
DeclNameRef
is used wherever the compiler is processing the name of a declaration that is defined somewhere else. (In SAT question terms, "DeclNameRef
is toDeclName
asDeclRefExpr
is toDecl
".)
https://forums.swift.org/t/what-the-eff-is-declnameref/31594
How OptionSet
works inside the Swift Compiler
https://swiftrocks.com/how-optionset-works-inside-the-swift-compiler.html
SwiftNIO integration for SQLite APIs
I'm considering pitching a package that wraps SQLite's C APIs in a NIO friendly API. This package is called SQLiteNIO.
It has a very similar user-facing API to PostgresNIO but what it does internally is much different. Instead of using a wire protocol over TCP like Postgres, libsqlite is in process and offers a blocking C API. This package puts all calls to libsqlite on a NIOThreadPool and then dispatches back to the event loop as needed.
https://forums.swift.org/t/swiftnio-integration-for-sqlite-apis/31621
SwiftNIO based MySQL client
Following up on PostgresNIO, which has been accepted by the working group, I've created a SwiftNIO based MySQL client called MySQLNIO. The design was based on PostgresNIO and both are very similar.
https://forums.swift.org/t/swiftnio-based-mysql-client/31620
Superb initiative by @twostraws https://www.swiftforgood.com/
SE-0270 (Review #2): Add Collection Operations on Noncontiguous Elements
The second review of SE-0270: Add Collection Operations on Noncontiguous Elements begins now and runs through December 19th, 2019. The previous review is here. I have taken over as review manager to give Dave Abrahams more flexibility to participate in the review.
SE-0272 (Review #2): Package Manager Binary Dependencies
The second review of [SE-0272 “Package Manager Binary Dependencies"(https://github.com/apple/swift-evolution/blob/master/proposals/0272-swiftpm-binary-dependencies.md) begins now and runs through December 20, 2019.
https://forums.swift.org/t/se-0272-review-2-package-manager-binary-dependencies/31668
SE-0273: Package Manager Conditional Target Dependencies
The review of SE-0273 “Package Manager Conditional Target Dependencies" begins now and runs through December 20, 2019.
https://forums.swift.org/t/se-0273-package-manager-conditional-target-dependencies/31667
Generic type metadata prespecialization
One source of memory and performance overhead in Swift code is the instantiation and fetching of type metadata. Even though generic specialization eliminates the need for type metadata in most fully-specialized code, we still need the metadata in many frequently-occurring situations:
- Objects always need their class metadata, which serves as the "isa" pointer with the object's method table and other dynamic metadata.
- When putting a value inside an existential box, the type metadata for the value's type is stored in the box to represent its dynamic type.
- When calling into unspecialized code, type metadata for the generic type arguments has to be formed. Code may remain unspecialized because it crosses ABI boundaries or is invoked via dynamic reflection.
https://forums.swift.org/t/generic-type-metadata-prespecialization/31659
Maybe we can mention if the issue isn't too long.
Can be fun one https://twitter.com/slava_pestov/status/1206398538743193600
Swift on Server WorkGroup meeting notes - November 14th, 2019
Swift on Server Workgroup meeting notes - December 12th, 2019
Sad news:
@IanPartridge and @seabaylea let the group know that following a review by IBM of its open source priorities, it has been decided that they will not be continuing to work on Swift in 2020. As a result, they are both standing down from the workgroup.
@IanPartridge will work to hand over responsibilities for the Swift Docker images and suggested a potential new owner from the community.
The workgroup thanked @IanPartridge, @seabaylea and the rest of the IBM team for their valuable work over the years in getting Swift on server off the ground, and providing the community with reliable solutions during those early days.
Discussion: Globally Optimized Build Parallelism?
https://forums.swift.org/t/globally-optimized-build-parallelism/31802
This will allow building and using the swiftpm binary that was built using swiftpm. The catch is that only one of the runtime PackageDescription library will be used since we can't build both runtimes together.
rdar://problem/56865514
[Accepted] SE-0268: Refine didSet Semantics
The proposal has been accepted as it was originally proposed, prior to the second review.
https://forums.swift.org/t/accepted-se-0268-refine-didset-semantics/31822
What’s New in Vapor 4
We've been working on the fourth major release of Vapor for almost a year now. The first alpha version was tagged last May, with the first beta following in October. During that time, the community has done amazing work helping to test, improve, and refine this release. Over 500 issues and pull requests have been closed so far!
The first and third starter tasks have already been resolved (the third was fixed by Doug but he hasn’t assigned the ticket to him)
Thanks for the poke; I've updated the starter tasks (and will do them as one of the last things again next time 😀
No worries! I think it's worth checking the starter tasks before publishing because it may have already been picked up by someone else or fixed :)
To contribute to this issue, simply leave a comment here. Please also review our contributing guidelines.
The current draft for this issue in
_drafts/
. If you want to contribute directly, feel free to open a pull request.