Each source file in pocketlang itself is a module that can be imported in another module, which makes it easier to split and share the project. There are two major kinds of modules in pocketlang. First one is core modules which are builtin to the VM and the second one is the local modlues where it's a written script file you'll import it with the path of it.
Importing a local module is same as importing a core module but instead of using the module name, you have to use it's path (either relative or absolute).
If the local scripts have defined a module name, they'll imported and binded with it's module name if not they've imported with an alias. If the local script don't have a module name and imported without an alias, every symbols (global variables, and functions) will be imported and that's similer to import all statement.
We can define a name to a modlue with the `module` keyword. The name will become the namespace for that module's functions and global variables when importing it.
```ruby
# 'foo.pk'
module foo
```
Note that the module name must be the first statement of the script and declared only once.