<div dir="ltr">Not scattered; at the end.  I will have ~10 use cases, each written as a different defs file (i.e. defs_a.swift, defs_b.swift, etc).  For each use-case, the run.swift, which is a big foreach loop, is the same.  Given this structure, I can think of at least 4 organizations:<br><div> 1) run.swift imports "defs_a" or "defs_b".  To change use cases, the import in run.swift is edited.  This is what I currently do but forces me to either serialize inter-script execution or edit scripts that are in the process of being executed.</div><div> 2) defs_a.swift, defs_b.swift, etc import "run".  This seems clean and is what I want to do.</div><div> 3) Wrapper scripts are created to contain both imports (i.e. a_wrap.swift : ```import "defs_a"; import "run"```).  This currently works, but results in script bloat.</div><div> 4) Wrap the contents of run.swift in a procedure, import it at the top of defs_{a,b,...}.swift, but then call it at the bottom.  This is surely the "right" way to do it, but its more effort and could have argument list bloat.</div><div>Since each of these option is semantically identical, why not allow the user to pick their preference?</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 18, 2015 at 1:07 PM Mihael Hategan <<a href="mailto:hategan@mcs.anl.gov">hategan@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, but I don't think it should.<br>
<br>
Why is it important to have import statements scattered through the<br>
script?<br>
<br>
Mihael<br>
<br>
On Thu, 2015-06-18 at 17:58 +0000, Max Hutchinson wrote:<br>
> Could that constraint be relaxed?<br>
><br>
> On Thu, Jun 18, 2015 at 12:47 PM Mihael Hategan <<a href="mailto:hategan@mcs.anl.gov" target="_blank">hategan@mcs.anl.gov</a>> wrote:<br>
><br>
> > Hi,<br>
> ><br>
> > Yes. Imports must come before other types of statements.<br>
> ><br>
> > Mihael<br>
> ><br>
> > On Thu, 2015-06-18 at 17:20 +0000, Max Hutchinson wrote:<br>
> > > Do all import statements need to come before executable statements?<br>
> > ><br>
> > > I have two scripts: defs.swift and run.swift.  If run.swift starts with<br>
> > > import "defs";<br>
> > > then everything works fine.  If instead defs.swift ends with<br>
> > > import "run";<br>
> > > I get this error:<br>
> > > Swift trunk git-rev: 1d512cbda070d363e8ec3cf16e77dfcddc6e66cb<br>
> > heads/master<br>
> > > 6377<br>
> > > RunID: run011<br>
> > > Could not compile SwiftScript source: line 24:12: unexpected token: ;<br>
> > > where line 24 is:<br>
> > > int foo = 1;<br>
> > ><br>
> > > Thanks,<br>
> > > Max<br>
> > > _______________________________________________<br>
> > > Swift-user mailing list<br>
> > > <a href="mailto:Swift-user@ci.uchicago.edu" target="_blank">Swift-user@ci.uchicago.edu</a><br>
> > > <a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user" rel="noreferrer" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user</a><br>
> ><br>
> ><br>
> ><br>
<br>
<br>
</blockquote></div>