mxcl / swift-sh

Easily script with third-party Swift dependencies.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Work as interpreter

mxcl opened this issue · comments

Strictly should be able to do this too.

commented

For reference: @asciibomb3r wrote a great post on the Swift.org blog announcing support for the --repl flag in swift run.

When combined with the --package-path option, building in REPL support for swift-sh could theoretically be as straightforward as invoking the builtin swift run command directly. Unfortunately, swift run --repl doesn't seem to support packages generated as executables:

$ swift --version
Apple Swift version 5.0-dev (LLVM 9a8bf9ce12, Clang eba26b8d1c, Swift b74d54a27c)
Target: x86_64-apple-darwin18.2.0
$ swift run --repl --package-path ~/Library/Developer/swift-sh.cache/foo
'foo' /Users/mattt/Library/Developer/swift-sh.cache/foo: error: unable to synthesize a REPL product as there are no library targets in the package

...then again, I'm not sure what the expected behavior would be for an executable. "Start a REPL with all of the top-level declarations in this main.swift file"?

Yeah indeed I wasn’t thinking it through, but I think you're on to the right track with the --package-path. It probably should checkout each dependency and --package-path those. Which would be quite useful when developing a script, since you could play with the dependencies.