<div dir="ltr">On second thought in the proposal: maybe bringing `#import` to the party as a project scope `import` instead of having a dedicated file is a better ideia.<br><div><br></div><div>Something like:</div><div><br></div><div><font face="monospace, monospace">#import MyAwsomeFramework</font></div><div><br></div><div>The difference between `#import` and the regular `import`: the `#import` says “import this module everywhere for then entire project even if it was imported again somewhere” and the `import` says &quot;import this module only for this file&quot;.</div><div><br></div><div>The `#import` would be included in any source code file and taken into account. I know the analyser/compiler have to search each single file for `global imports`, but they already do something like this when we use `public let something = “something”` outside a structure/class.</div><div><br></div><div>What do you think?<br></div><div><br></div><div>Best,</div><div>-Van</div><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 26, 2016 at 12:19 AM, Vanderlei Martinelli via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Hello everybody.</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">I&#39;ve been following the list, but I have not had time to participate more actively. I must say that I am very happy for what has been discussed, the more because of what Swift will *not* become than of what it will become. ;-)</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">OK. In Objective-C and other languages we have “.PCH” files or some kind of “prefix headers”. In Swift we do not have header files (thankfully), but there is no simple way to “pre-import” modules in a way that all source files can “see” them without the need of a big list of “imports” at the beginning of each file, every single time. I know that the “.PCH-like” it is not a good practice in most cases, but I believe it would be interesting in some other cases.</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Today we have some kind of this functionality when using bridging headers, but this is in fact a side effect provided by the interoperability with Objective-C. I am suggesting a pure Swift version of this functionality.</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">I do not know how we can implement this in Swift, but since we now have the special case of “Package.swift” to handling SPM things, maybe something like “Preimport.swift” or “Modules.swift” or something better than these names (I do not like them…) with the intention of saying: “Hi, compiler! I&#39;m listing here the modules that are common to the whole project, OK? Can you take them into account when compiling each project source code file from now?&quot;</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">What do you think?</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Regards,</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Vanderlei Martinelli</span><br></div>
<br>_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br></blockquote></div><br></div></div>