This repository contains the Motoko base library. It is intended to be used with the moc
compiler (and tools that wrap it, like dfx
).
If you are installing Motoko through the DFINITY SDK releases, then this base library is already included.
If you build your project using the vessel package manager your package-set most likely already includes base, but if it doesn't or you want to override its version add an entry like so to your package-set.dhall
:
{
name = "base",
repo = "https://github.com/dfinity/motoko-base",
version = "dfx-0.9.2",
dependencies = [] : List Text
}
The package name "base"
appears when importing its modules in Motoko (e.g., import "mo:base/Nat"
). The repo may either be your local clone path, or this public repository url, as above. The version can be any git branch name (among other things). There are no dependencies. See vessel package manager docs for more details.
In test/
, run
make
This will expect moc
to be installed and in your $PATH
.
Running the tests also requires wasmtime
and vessel
to be installed.
If you installed moc
some other way, you can instruct the Makefile
to use
that compiler:
make MOC=moc
The documentation can be generated in doc/
by running
./make_docs.sh
which creates _out/html/index.html
.
The next-moc
branch contains changes that make base compatible with the
in-development version of moc
. This repository's public CI does not run
on that branch.
External contributions are best made against master
.
Please read the Interface Design Guide for Motoko Base Library before making a pull request.