lampm is a small package manager for Lamo projects. It installs libraries from GitHub into a local project folder so they can be imported by today’s relative import "file.lamo"; workflow.
- creates a project manifest with
lampm init - records dependencies in
lamo.pkg - installs GitHub repositories into
lamo_modules/ - updates installed libraries with
lampm install - removes local packages and manifest entries with
lampm remove
This is a vendoring-style package manager for the current compiler. It does not yet teach lamo new import syntax or global package resolution.
makeOn Windows with GCC directly:
gcc -Wall -Wextra -std=c99 src/main.c -o lampm.exeInitialize a project:
lampm init my-appAdd a GitHub library:
lampm install owner/repo
lampm install owner/repo myaliasReinstall or update everything from the manifest:
lampm installList recorded dependencies:
lampm listRemove a dependency:
lampm remove myaliaslampm writes a simple manifest named lamo.pkg:
name = my-app
packages_dir = lamo_modules
[dependencies]
math = someone/lamo-mathIf a package installs a main.lamo file into lamo_modules/math/, you can import it with the current compiler using a relative path:
import "lamo_modules/math/main.lamo";
Because the current compiler resolves imports relative to the importing file, nested source folders may need paths like:
import "../lamo_modules/math/main.lamo";
- Git must be installed and available on your
PATH. - Repositories are installed from
https://github.com/<owner>/<repo>.git. - Right now dependencies track the repository head. Version pinning can be added later.