Using the compiler
Inko's compiler is available through the inko
command.
Compiling and running
To compile and then run a file, use the inko run
command:
inko run hello.inko
This command is useful when running simple scripts or during the development of your project. If your program defines any command line flags, specify them after the file to run:
inko run hello.inko --foo=bar
Any flags specified before the file to run are treated as flags for the run
command.
Compiling without running
The inko run
command requires your source code to be available, and compiles
it from scratch every time. To avoid this, we can build a standalone executable
using the inko build
command:
inko build hello.inko
The resulting executable is located at ./build/hello
. By default the compiler
enables a reasonable number of optimisations, without sacrificing compile times.
You can either disable optimisations entirely, or enable more aggressive
optimisations at the cost of compile times increasing:
inko build --opt none hello.inko # No optimisations
inko build --opt aggressive hello.inko # Aggressive optimisations
For --opt none
the executable is placed in ./build/none/hello
, and
./build/aggressive/hello
for --opt aggressive
.
Only use --opt aggressive
if you have determined a significant increase in
compile times is worth the increase in runtime performance.
You can specify an alternative output path using the -o
option:
inko build -o /tmp/hello hello.inko
When compiling for the host/native target, build output is placed in ./build
directly, but when building for a different architecture the output is scoped to
a directory named after that architecture. For example, when compiling for
arm64-linux-gnu on an amd64-linux-gnu host, build files are placed in
./build/arm64-linux-gnu
.
For more information, run inko --help
.