Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
cljgo
command
bri.go — the project CLI surface (ADR 0041, ADR 0047, openspec app-framework T0/T1):
|
bri.go — the project CLI surface (ADR 0041, ADR 0047, openspec app-framework T0/T1): |
|
gencore
command
Command gencore AOT-compiles cljgo's own core — core.clj and every embedded .cljg boot source — into the Go packages under pkg/coreaot (ADR 0046, AOT-core piece 3).
|
Command gencore AOT-compiles cljgo's own core — core.clj and every embedded .cljg boot source — into the Go packages under pkg/coreaot (ADR 0046, AOT-core piece 3). |
|
parity.go — the ADR 0053 decision 4 dual-mode host-resolution parity comparator, extending the ADR 0007 dual harness (conformance_test.go + compiled_test.go).
|
parity.go — the ADR 0053 decision 4 dual-mode host-resolution parity comparator, extending the ADR 0007 dual harness (conformance_test.go + compiled_test.go). |
|
bri.go — embedded sources for the bri application framework namespaces (ADR 0041, openspec app-framework T1).
|
bri.go — embedded sources for the bri application framework namespaces (ADR 0041, openspec app-framework T1). |
|
docs
|
|
|
diagnostics
Package diagnostics embeds the diagnostic explain pages and the append-only registry lock snapshot so pkg/diag can serve Explain(code) from the binary (ADR 0015; design.md D2).
|
Package diagnostics embeds the diagnostic explain pages and the append-only registry lock snapshot so pkg/diag can serve Explain(code) from the binary (ADR 0015; design.md D2). |
|
pkg
|
|
|
analyzer
Package analyzer turns read forms into pkg/ast nodes (design/03 §2–§5).
|
Package analyzer turns read forms into pkg/ast nodes (design/03 §2–§5). |
|
ast
Package ast defines the AST produced by the analyzer (design/03 §1, design/00 §4.1): one uniform *Node with an integer Op tag and a typed per-op payload struct in Sub.
|
Package ast defines the AST produced by the analyzer (design/03 §1, design/00 §4.1): one uniform *Node with an integer Op tag and a typed per-op payload struct in Sub. |
|
bri
auth.go — bri.auth's Go half: the S44-blessed security primitives.
|
auth.go — bri.auth's Go half: the S44-blessed security primitives. |
|
build
Package build is the Zig-style build system (ADR 0021, design/08 §1).
|
Package build is the Zig-style build system (ADR 0021, design/08 §1). |
|
coreaot
Package coreaot is cljgo's core, AOT-compiled: one Go package per embedded boot source (core.clj, numeric.cljg, … — core.BootSources()), each a Load() that runs that source's top-level forms.
|
Package coreaot is cljgo's core, AOT-compiled: one Go package per embedded boot source (core.clj, numeric.cljg, … — core.BootSources()), each a Load() that runs that source's top-level forms. |
|
corelib
aot_stubs.go — what the interpreter-coupled builtins do in a binary that has no interpreter (ADR 0046 §5).
|
aot_stubs.go — what the interpreter-coupled builtins do in a binary that has no interpreter (ADR 0046 §5). |
|
deps
Package deps implements ADR 0052 dependency resolution for cljgo: a global content-addressed cache (keyed by identity, verified by content), a deterministic committed lockfile (build.lock.edn), a resolver that reads the lock and a dependency's declarative manifest as DATA (never evaluating a dependency's build fn), a hard-error version-conflict merge for Go modules (no MVS, no solver), and a default-deny purity gate with separate :ffi/:cgo switches.
|
Package deps implements ADR 0052 dependency resolution for cljgo: a global content-addressed cache (keyed by identity, verified by content), a deterministic committed lockfile (build.lock.edn), a resolver that reads the lock and a dependency's declarative manifest as DATA (never evaluating a dependency's build fn), a hard-error version-conflict merge for Go modules (no MVS, no solver), and a default-deny purity gate with separate :ffi/:cgo switches. |
|
diag
Package diag implements the structured-diagnostics data model of ADR 0015 (docs/adr/0015-structured-diagnostics-introspection.md) as settled in openspec/changes/structured-diagnostics/design.md D1/D2: the Diagnostic value, the append-only banded error-code registry, Explain pages, and a best-effort adapter from today's error values.
|
Package diag implements the structured-diagnostics data model of ADR 0015 (docs/adr/0015-structured-diagnostics-introspection.md) as settled in openspec/changes/structured-diagnostics/design.md D1/D2: the Diagnostic value, the append-only banded error-code registry, Explain pages, and a best-effort adapter from today's error values. |
|
emit
Package emit is the Go source emitter (design/04, design/00 §4, ADR 0001): it consumes the analyzer's AST — never re-analyzing, never holding private special-form knowledge (ADR 0002) — and writes plain Go statements into one generated main package, gated through go/format.Source.
|
Package emit is the Go source emitter (design/04, design/00 §4, ADR 0001): it consumes the analyzer's AST — never re-analyzing, never holding private special-form knowledge (ADR 0002) — and writes plain Go statements into one generated main package, gated through go/format.Source. |
|
emit/rt
Package rt is the runtime bootstrap for cljgo-emitted binaries.
|
Package rt is the runtime bootstrap for cljgo-emitted binaries. |
|
eval
asyncload.go — the lazy lib provider for clojure.core.async's macro half (ADR 0040 #5, openspec core-async-first-class T1).
|
asyncload.go — the lazy lib provider for clojure.core.async's macro half (ADR 0040 #5, openspec core-async-first-class T1). |
|
lang/internal/goid
Package goid returns the current goroutine's ID.
|
Package goid returns the current goroutine's ID. |
|
lang/internal/identity/pkga
Package pkga simulates one separately-compiled emitted package that hoists keyword literals to package-level vars, exactly as the cljgo emitter will (design doc 00 §4.4).
|
Package pkga simulates one separately-compiled emitted package that hoists keyword literals to package-level vars, exactly as the cljgo emitter will (design doc 00 §4.4). |
|
lang/internal/identity/pkgb
Package pkgb simulates a second, independently-compiled emitted package interning the same keyword literals as pkga.
|
Package pkgb simulates a second, independently-compiled emitted package interning the same keyword literals as pkga. |
|
lang/internal/persistent/vector
Package vector implements persistent vector.
|
Package vector implements persistent vector. |
|
lang/internal/seq
Package seq provides a definition of an internal Seq interface for use across packages.
|
Package seq provides a definition of an internal Seq interface for use across packages. |
|
nrepl
Bencode codec for nREPL's wire format (ADR 0031: own the codec — everything nREPL puts on the wire in ~150 lines, zero external deps).
|
Bencode codec for nREPL's wire format (ADR 0031: own the codec — everything nREPL puts on the wire in ~150 lines, zero external deps). |
|
publish
clojars.go — the `publish clojars` producer (ADR 0054 dec 1, 3).
|
clojars.go — the `publish clojars` producer (ADR 0054 dec 1, 3). |
|
reader
Package reader implements the Clojure reader: UTF-8 text in, pkg/lang persistent data structures out, with :file/:line/:column/ :end-line/:end-column metadata on every IObj form.
|
Package reader implements the Clojure reader: UTF-8 text in, pkg/lang persistent data structures out, with :file/:line/:column/ :end-line/:end-column metadata on every IObj form. |
|
repl
Package repl is the REPL driver of design/03-analyzer-eval.md §7b: a loop of Read (pkg/reader) → Analyze+Eval (pkg/eval) → bind *1 *2 *3 (and *e on error) → print via pr-str, over an injected reader/writer pair.
|
Package repl is the REPL driver of design/03-analyzer-eval.md §7b: a loop of Read (pkg/reader) → Analyze+Eval (pkg/eval) → bind *1 *2 *3 (and *e on error) → print via pr-str, over an injected reader/writer pair. |
|
version
Package version is the single source of truth for cljgo's version, the Go toolchain hosting it, and the Clojure language level it targets.
|
Package version is the single source of truth for cljgo's version, the Go toolchain hosting it, and the Clojure language level it targets. |
|
spikes
|
|
|
s31-impure-dep-go-modules
command
Spike S31 driver — exercises pkg/emit.SynthGoMod with MERGED require sets, simulating what a `dep` verb would hand it once cljgo libraries can depend on cljgo libraries.
|
Spike S31 driver — exercises pkg/emit.SynthGoMod with MERGED require sets, simulating what a `dep` verb would hand it once cljgo libraries can depend on cljgo libraries. |
|
s34-transitive-purity-validator
command
Spike S34 driver — ONE transitive walk that classifies every reachable namespace of a cljgo library by purity, via PLUGGABLE taint predicates, and derives BOTH a whole-library publish gate and a per-namespace use gate from the same classification map.
|
Spike S34 driver — ONE transitive walk that classifies every reachable namespace of a cljgo library by purity, via PLUGGABLE taint predicates, and derives BOTH a whole-library publish gate and a per-namespace use gate from the same classification map. |
|
Package templates carries the project templates `cljgo new` generates from (ADR 0041, ADR 0047, openspec app-framework T0) — as REAL FILES on disk, not Go string literals: a template that is a string literal is never compiled, never linted, never run, and rots the first time an API shifts.
|
Package templates carries the project templates `cljgo new` generates from (ADR 0041, ADR 0047, openspec app-framework T0) — as REAL FILES on disk, not Go string literals: a template that is a string literal is never compiled, never linted, never run, and rots the first time an API shifts. |
Click to show internal directories.
Click to hide internal directories.