Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README, process, and proposal template for Swift 4 stage 1. #541

Merged
merged 4 commits into from
Oct 10, 2016

Conversation

DougGregor
Copy link
Member

No description provided.

break source compatibility if the Swift 3 constructs were actively
harmful in some way, the volume of affected Swift 3 code is relatively
small, and we can provide source compatibility (in Swift 3
compatiblity mode) and migration.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo compatiblity

with the Swift runtime, including such things as calling conventions,
the layout of data types, and the behavior of dynamic features in the
language (reflection, dynamic dispatch, dynamic casting via `as?`,
etc.). Purely syntactic changes rarely affect existing ABI. Additive
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

affect -> effect

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of the time, you'll want affect as a verb meaning to influence something and effect for the something that was influenced. The difference between affect and effect is so slippery that people have started using "impact" as a verb instead. Don't be one of them!

Copy link
Contributor

@jtbandes jtbandes Oct 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"effect on ABI" ⇒ "affect [the] ABI". 😄

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll just strike the words "affect" and "effect" from the English language and save us all some time.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other high-performance applications that want predictible and
deterministic performance. This feature will fundamentally shape the
ABI, from low-level language concerns such as "inout" and low-level
"addressors" to its impact on the standard library.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest mentioning that we need to get a design of this, which will allow us to scope the small part that effects the ABI and make sure that happens in Stage 1.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IOW, ownership as a whole is not a stage 1 feature.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure.

"addressors" to its impact on the standard library.

## Swift 3.0 - Released on September 13, 2016

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to break descriptions of historical releases out to a separate page? We could have a "Swift 3" page, which lists its raison d'etre, along with the SE's that went into it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I like that better. It keeps the README shorter and more forward-looking.

@lattner
Copy link
Collaborator

lattner commented Oct 6, 2016

This looks really great Doug, I added a few comments to the patch.

Will existing correct Swift 3 or Swift 4 applications stop compiling
due to this change? Will applications still compile but produce
different behavior than they used to? If "yes" to either of these, is
it possible for the Swift 4 compiler to accept the old syntax in it's
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"in it's" -> "in its"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, thanks!


Stage 1 focuses on the essentials required for source and ABI
stability. Features that don't fundamentally change the ABI of
existing language features or imply and ABI-breaking change to the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... or imply an ABI-breaking ...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx

Moving out information about Swift 2.2 and Swift 3.0 allows us to be
more verbody there (about which proposals were implemented in a
release) and keep the README more forward-looking.
@lattner
Copy link
Collaborator

lattner commented Oct 7, 2016

Nice, LGTM! Thank you for working on this.


* Memory ownership model: an (opt-in) Cyclone/Rust-inspired memory
ownership model is highly desired by systems programmers and for
other high-performance applications that want predictible and

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"predictible" -> "predictable"

@DougGregor DougGregor merged commit 02ad2bc into swiftlang:master Oct 10, 2016
@DougGregor DougGregor deleted the swift-4-updates branch October 10, 2016 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants