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

Why import SystemPackage instead of import System? #13

Closed
fumoboy007 opened this issue Nov 3, 2020 · 4 comments
Closed

Why import SystemPackage instead of import System? #13

fumoboy007 opened this issue Nov 3, 2020 · 4 comments
Labels
question Further information is requested

Comments

@fumoboy007
Copy link

Why is the target named SystemPackage instead of System?

@jabwd
Copy link

jabwd commented Nov 4, 2020

Im guessing its an umbrella import around many System{Suffix} targets to be able to better separate certain platform specifics in different modules. As you can see there is also a "SystemInternals" target, which implies that System in itself is only a prefix to many more possible targets if required/desired.

@milseman
Copy link
Contributor

milseman commented Nov 6, 2020

It's a workaround for current compiler limitations. If you have a binary System module available, as we do on Darwin and might have on other platforms in the future, then a System module from a package would conflict with that.

In the future the compiler might support module namespaces, which would allow us to name the module System in a package namespace distinct from one in a SDK or toolchain namespace. Alternatively or additionally, we might ship a binary System module for all platforms, in which case the package build would exist strictly for backwards deployment or prototyping.

@milseman milseman added the question Further information is requested label Dec 29, 2020
@milseman
Copy link
Contributor

I'm going to mark this as answered (i.e. closed), but feel free to ask further questions about this topic here.

@milseman milseman pinned this issue Dec 29, 2020
@milseman milseman unpinned this issue Dec 29, 2020
@milseman
Copy link
Contributor

Added to the FAQ: #18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants