Summary
Point programs are grouped with module names and connected through use imports. The CLI resolves a dependency graph before check-all and project builds.
Syntax
module Billing
record Invoice
total: Int
use httpmodule Namesets the module name for semantic refsuse httpimports a built-in capability (same asuse std.http) — see Capabilitiesuse std.<module>explicit std importuse Module from "./path.point"links another file (seeexamples/multi-file/order.point)
Semantics
The CLI discovers examples/**/*.point, std/**/*.point, and compiler/**/*.point for project commands (check-all, build-all, build-ts-all, etc.). Dependencies are checked in topological order. Cycles are rejected.
Public symbols from dependencies are visible to importers after point check.
Compiler note
use links form a directed graph checked in topological order. Cycles are rejected.
Example
From the repository std-usage example:
module StdUsage
calculation pass through
input value: Text
output result: Text
result is value
use text
use jsonMulti-file layout also lives under examples/multi-file/ in the repository.
Common mistakes
- Broken relative paths (
Cannot resolve Point module) - Cyclic imports between files
Agent diagnostic notes
- Run project-wide
point check-allwhen changing shared modules - Semantic refs include the module segment:
point://semantic/Billing/...
