Building an executable
This page describes how to build an executable of a program written in Pen. It consists of the following steps:
- Create an application package.
- Build the package into an executable.
Creating an application package
Application packages are packages that are built into executables.
To create it, you run a pen create command with your application's name (e.g. foo) in your terminal.
pen create foo
Then, you should see a foo directory in your current directory. When you go there, you should see a main.pen source file and a pen.json file for package configuration.
main.pen:
import Os'File
main = \(ctx context) none {
_ = File'Write(ctx.Os, File'StdOut(), "Hello, world!\n")
none
}
pen.json:
{
"type": "application",
"dependencies": {
"Os": "pen:///os"
}
}
In this example, the main.pen file contains a program that outputs a text, "Hello, world!" in a terminal. And the pen.json configuration file defines a package type of application and its dependencies. Here, it has only a dependency of the Os system package.
Building a package into an executable
To build the package, you run a pen build command in the package's directory.
pen build
Then, you will see an executable file named app in the directory. Now, you can run it to see its output, "Hello, world!"
./app # -> Hello, world!