C+
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 f32x4 plus 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 (rt and the platform rt_darwin).