taupkg v0.0.1
Tauraro Package Manager — first release
taupkg is the official package manager for the Tauraro programming language.
It compiles to a single native binary with no runtime dependencies.
What's included
| Command | Description |
|---|---|
taupkg init [name] |
Create a new taupkg.toml and src/main.tr |
taupkg add <pkg>[@constraint] |
Add a dependency and install it |
taupkg remove <pkg> |
Remove a dependency |
taupkg install |
Install all deps listed in taupkg.toml |
taupkg update [pkg] |
Update all (or one) dependency |
taupkg build [--release] [-o file] |
Build the project |
taupkg run [-- args] |
Build and run |
taupkg test |
Build and run tests |
taupkg search <query> |
Search the registry |
taupkg publish |
Publish to the registry |
taupkg info <pkg> |
Show package information |
taupkg list |
List installed packages |
taupkg clean |
Remove .taupkg/build/ |
taupkg install-tauraro [--version x.y.z] |
Download and install the Tauraro compiler |
Compiler fixes (tauraroc) required for this release
taupkg exercises the full Tauraro feature set — multi-module imports, built-in
module dispatch, Vec[str] type inference, and local imports inside function
bodies. Several compiler bugs were fixed as part of getting taupkg to compile:
- Parser:
from X import Yinside function bodies now generates a no-op
instead of a floatingX;identifier that caused undeclared-symbol errors - Sema:
str.split()now returnsVec[str]with its element type, so
subsequent.get(idx)dispatches asList_str_getrather than bareget() - Sema: Built-in module methods carry return types —
OS.cwd()→str,
OS.is_windows()→bool,Process.system()→int,Env.get_var()→str - Codegen:
str.split()no longer emits a(void*)cast that broke
__auto_typetype inference on the result variable - Codegen:
argvparameter indef main(argv: Vec[str])is renamed to
_tr_main_argvin both the declaration and all body references, preventing
shadowing of C'schar** argv - Codegen:
#ifndef TYPENAME_STRUCT_DEFINEDguards ingen_class_struct
eliminate duplicate-definition errors when two modules define a same-named type - Codegen: Forward declarations and class method prototypes in
tauraro_types.hare deduplicated, fixing conflicting-type linker errors in
multi-module builds - Codegen:
OS,Process,Env,Hash,Filestatic method dispatch
(OS.cwd()→_tr_cwd(),Process.system(cmd)→_tr_system(cmd), etc.) - Runtime search (
src/main.tr):read_runtime_headernow also checks
bin_dir/runtime/tauraro_rt.h— the layout used by structured release zips —
so the compiler finds its own runtime header when installed via taupkg