Clio modules¶
Any exported function in any .clio
file can be imported in any other
Clio file.
The above example is a simple Clio module and can be imported and used like this:
In Clio, imports are relative and by path, there is no support for absolute imports. Clio recognises the following import path formats:
Including .clio
for file name is optional, the above example is the
same as the following:
You can also import a directory, if there is a main.clio
file in it:
External Clio Dependencies¶
To install a package from the Clio package registry, you can run:
clio deps add <package-name>
this will add the package as a dependency in your manifest, fetch the
package and store it inside the .clio/modules
directory at the root of
your project. If you want to fetch the packages listed in your project
manifest file, you can run:
clio deps get
When the project is compiled, the dependencies inside your .clio/modules
directory will be compiled and linked to your build.
Clio modules are installed from git. To install a dependency, you need to pass a git url and a tag, commit hash or branch name:
clio deps add https://github.com/clio-lang/fib@branch
clio deps add https://github.com/clio-lang/fib@tag
clio deps add https://github.com/clio-lang/fib@hash
Multiple versions of a dependency can be installed and used at the same time, to import a dependency you need to use the tag, commit hash, or branch name used to install it: