[Swift-user] import position in swift script

Max Hutchinson maxhutch at gmail.com
Thu Jun 18 13:18:08 CDT 2015


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:
 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.
 2) defs_a.swift, defs_b.swift, etc import "run".  This seems clean and is
what I want to do.
 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.
 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.
Since each of these option is semantically identical, why not allow the
user to pick their preference?

On Thu, Jun 18, 2015 at 1:07 PM Mihael Hategan <hategan at mcs.anl.gov> wrote:

> Yes, but I don't think it should.
>
> Why is it important to have import statements scattered through the
> script?
>
> Mihael
>
> On Thu, 2015-06-18 at 17:58 +0000, Max Hutchinson wrote:
> > Could that constraint be relaxed?
> >
> > On Thu, Jun 18, 2015 at 12:47 PM Mihael Hategan <hategan at mcs.anl.gov>
> wrote:
> >
> > > Hi,
> > >
> > > Yes. Imports must come before other types of statements.
> > >
> > > Mihael
> > >
> > > On Thu, 2015-06-18 at 17:20 +0000, Max Hutchinson wrote:
> > > > Do all import statements need to come before executable statements?
> > > >
> > > > I have two scripts: defs.swift and run.swift.  If run.swift starts
> with
> > > > import "defs";
> > > > then everything works fine.  If instead defs.swift ends with
> > > > import "run";
> > > > I get this error:
> > > > Swift trunk git-rev: 1d512cbda070d363e8ec3cf16e77dfcddc6e66cb
> > > heads/master
> > > > 6377
> > > > RunID: run011
> > > > Could not compile SwiftScript source: line 24:12: unexpected token: ;
> > > > where line 24 is:
> > > > int foo = 1;
> > > >
> > > > Thanks,
> > > > Max
> > > > _______________________________________________
> > > > Swift-user mailing list
> > > > Swift-user at ci.uchicago.edu
> > > > https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user
> > >
> > >
> > >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/swift-user/attachments/20150618/262f7c1d/attachment.html>


More information about the Swift-user mailing list