I am trying to organize my current project so that I have a few separate files/modules to keep things tidy, including a separate cli module for invoking the program. But I am having some trouble bringing it all together. The main of my project's layout is:
bin/
corpus
code/
cli.jl
ngrams.jl
...
Where `bin/corpus` contains:
#!/usr/bin/env julia
include("../code/cli.jl")
Corpus.Cli.run(ARGS)
And `code/cli.jl` starts out with:
module Corpus
module Cli
include("./ngrams.jl")
function run(args)
...
But when I run `bin/corpus`, the program just hangs, and it appears to be doing so on the `include`.
So how does one do this properly?
I have read through the documentation on Modules, but it is not very clear to me. In fact, to be honest, it seems overly complicated, with `include`, `import`, `require`, `using`, etc. (Makes me long for the simplicity of Lua's and Javascript/NPM's `require`.)
println("Corpus")
include("../code/cli.jl")
Corpus.Cli.run(ARGS)