[swift-dev] [swift-evolution] [Swift 4] Organizing source stability

Jacob Bandes-Storch jtbandes at gmail.com
Thu Aug 4 01:18:42 CDT 2016


Importing the right version of a module (such as the standard library) when
more than one are available is just a search-paths problem. Supporting
multiple versions of the language's syntax and ABI, though, as far as I can
tell, requires the switch to be deeply baked into the compiler.

So I don't really see how we can get away with a "general" solution, beyond
perhaps some SwiftPM support for libraries that provide source or binaries
for multiple language versions.

On Wed, Aug 3, 2016 at 12:44 PM, Douglas Gregor <dgregor at apple.com> wrote:

>
> > On Aug 3, 2016, at 1:16 AM, Brent Royal-Gordon via swift-dev <
> swift-dev at swift.org> wrote:
> >
> >> On Jul 29, 2016, at 5:55 PM, Jacob Bandes-Storch via swift-evolution <
> swift-evolution at swift.org> wrote:
> >>
> >>      • a top-of-file "shebang"-style comment indicating the version,
> something like //#swift(4), mirroring the "#if swift" syntax
> >
> > `import Swift 3.1`?
> >
> > I think this brings up two interesting questions:
> >
> > * Do we want to be able to mix files using different versions of Swift
> in the same module?
>
> No. It simplifies the problem greatly if the whole module is compiled with
> a single Swift version.
>
> > * Do we want to extend these backwards compatibility features beyond the
> standard library to other modules?
>
> If we can design generally-useful features for handling language
> versioning, that the standard library can adopt, that would be great.
>
>         - Doug
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160803/e7f4e2e8/attachment.html>


More information about the swift-dev mailing list