# \[Pitch\] Formalize ‘Swift language mode’ naming in tools and API

**URL:** <https://forums.swift.org/t/pitch-formalize-swift-language-mode-naming-in-tools-and-api/71733>\
**Category:** Pitches\
**Created:** [May 9, 2024, 6:41pm UTC](https://forums.swift.org/t/pitch-formalize-swift-language-mode-naming-in-tools-and-api/71733 "2024-05-09T18:41:30Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![James\_Dempsey](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/james_dempsey/32/14336_2.png) [@James\_Dempsey](https://forums.swift.org/u/James_Dempsey)\
**Post date:** [May 9, 2024, 11:44pm UTC](https://forums.swift.org/t/pitch-formalize-swift-language-mode-naming-in-tools-and-api/71733/10 "2024-05-09T23:44:01Z")

</div>

> [@jrose](#):
>
> The equivalent in the Rust world is “edition”, a term that I believe the Rust folks made up without particular precedent (though I didn’t research that deeply). I think “language mode” is fine, and an improvement over “version” (or “standard”, which got stretched with things like “gnu99”), but “edition” could probably be listed as a Considered Alternative.

Thank you for the feedback and I will definitely add "edition" to the considered alternatives. It is interesting that it seems Rust created a term without precedent. I think Swift has done the same with “language mode”.

Searching here in the forums, it does seem like "language mode" is a long-established term of art in the Swift community:  
[https://forums.swift.org/search?q=%22language%20mode%20%22](https://forums.swift.org/search?q=%22language%20mode%20%22)  
_(A space added to end of search term to avoid finding 'language model')_

This includes the posts in the last year from LSG members about Swift 6 language mode:

- [Design Priorities for the Swift 6 Language Mode](https://forums.swift.org/t/design-priorities-for-the-swift-6-language-mode/62408/27)
- [Progress toward the Swift 6 language mode](https://forums.swift.org/t/progress-toward-the-swift-6-language-mode/68315)

The earliest usage of the term I could find goes back to 2016 in a post describing the intent to allow for modules to use different versions of Swift:

> [@End of source-breaking changes for Swift 3](https://forums.swift.org/t/end-of-source-breaking-changes-for-swift-3/3573/1):
>
> For language syntax/semantics, the compiler can use the language mode to properly implement the language version being used by a module.

From: [End of source-breaking changes for Swift 3](https://forums.swift.org/t/end-of-source-breaking-changes-for-swift-3/3573).

Overall, I am open to whatever name adds clarity and removes the ambiguity, but "language mode" appears to be the term that has been consistently used for a long while.

---

_[View the full topic](https://forums.swift.org/t/pitch-formalize-swift-language-mode-naming-in-tools-and-api/71733)._
