Packages
·
v0.0.13
Packages
C+ is C plus packages. The language core is small on purpose; capability comes from packages, including the standard library. stdlib is a vendored package like any other, not a language built-in.
How a package works
Every package is a directory under vendor/ with a Cplus.toml manifest, a <package-name>.cplus library entry, and in-package #[test] functions you can run with cd vendor/<pkg> && cpc test. To use one, add it to your manifest and import it:
[dependencies]
stdlib = "*"
json = "*"
import "stdlib/io" as io;
import "json/json" as json;
The driver walks one directory up from your project to resolve sibling vendor dependencies, so no per-package symlinks are needed beyond the canonical vendor/ checkout.
The standard library
- stdlib — I/O, collections, ownership wrappers, concurrency, files, and networking. The package you reach for first.
Platform & GPU
- appkit — typed Cocoa / AppKit bindings for native macOS apps.
- metal — typed Metal and MPS bindings for GPU compute.
- accelerate — Apple CPU-SIMD numerics (BLAS, vDSP).
- jni — minimal Java Native Interface bindings.
Math
- simd — 3D math on
f32x4plus integer lane helpers.
Utilities
- clap — command-line argument parsing with a fluent builder.
- json — a typed-enum JSON parser and serializer.
- log — a leveled, zero-allocation structured logger.
- uuid — RFC 4122 v4 UUIDs.
- arena — a growable bump-pointer arena.
- static-arena — a fixed-size, stack-resident arena.
Real-time
- rt — lock-free primitives for the real-time contracts (
rtand the platformrt_darwin).