Documentation
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
goalchemy
command
Command goalchemy validates and transpiles Goalchemy programs.
|
Command goalchemy validates and transpiles Goalchemy programs. |
|
hardening
command
Command hardening runs bounded differential campaigns, performance baselines, and versioned upgrade checks for all released targets.
|
Command hardening runs bounded differential campaigns, performance baselines, and versioned upgrade checks for all released targets. |
|
examples
|
|
|
bank
command
Command bank models accounts with typed errors, interfaces, and deferred audit logging.
|
Command bank models accounts with typed errors, interfaces, and deferred audit logging. |
|
calc
command
Command calc parses and evaluates integer arithmetic expressions.
|
Command calc parses and evaluates integer arithmetic expressions. |
|
fetch
command
Command fetch downloads the iris dataset over HTTPS and summarizes it.
|
Command fetch downloads the iris dataset over HTTPS and summarizes it. |
|
jwt
command
Command jwt signs and verifies HS256 JSON Web Tokens.
|
Command jwt signs and verifies HS256 JSON Web Tokens. |
|
life
command
Command life runs Conway's Game of Life on a fixed toroidal board.
|
Command life runs Conway's Game of Life on a fixed toroidal board. |
|
pipeline
command
Command pipeline fans jobs out to workers under per-job deadlines.
|
Command pipeline fans jobs out to workers under per-job deadlines. |
|
wordfreq
command
Command wordfreq counts words in a text and prints the most frequent ones.
|
Command wordfreq counts words in a text and prints the most frequent ones. |
|
internal
|
|
|
catalog
Package catalog locates the contract catalog and exposes the external capability registry derived from it.
|
Package catalog locates the contract catalog and exposes the external capability registry derived from it. |
|
conformance
Package conformance runs canonical contract cases against a target's runtime through its JSON Lines harness process.
|
Package conformance runs canonical contract cases against a target's runtime through its JSON Lines harness process. |
|
contracts
Package contracts loads, validates, and normalizes the canonical runtime contract catalog and the target mappings that implement it.
|
Package contracts loads, validates, and normalizes the canonical runtime contract catalog and the target mappings that implement it. |
|
driver
Package driver runs the compiler pipeline: load, validate, lower, emit.
|
Package driver runs the compiler pipeline: load, validate, lower, emit. |
|
emit/c
Package c emits C17.
|
Package c emits C17. |
|
emit/csharp
Package csharp emits C# 12 for .NET 8.
|
Package csharp emits C# 12 for .NET 8. |
|
emit/golang
Package golang emits lowered Go: a Go program whose control flow is the IR's basic blocks and whose implementation-dependent operations (append growth, map order, panic reporting) call the Goalchemy Go runtime.
|
Package golang emits lowered Go: a Go program whose control flow is the IR's basic blocks and whose implementation-dependent operations (append growth, map order, panic reporting) call the Goalchemy Go runtime. |
|
emit/java
Package java emits Java 21.
|
Package java emits Java 21. |
|
emit/py
Package py emits Python 3.10+.
|
Package py emits Python 3.10+. |
|
emit/rust
Package rust emits Rust (edition 2021).
|
Package rust emits Rust (edition 2021). |
|
emit/ts
Package ts emits TypeScript for Node.js.
|
Package ts emits TypeScript for Node.js. |
|
frontend
Package frontend loads Go packages under the locked Goalchemy source profile.
|
Package frontend loads Go packages under the locked Goalchemy source profile. |
|
hardening
Package hardening generates small, type-valid programs for differential testing.
|
Package hardening generates small, type-valid programs for differential testing. |
|
ir
Package ir defines Goalchemy's target-independent typed intermediate representation: typed functions made of basic blocks with explicit branch targets, local storage cells, and three-address instructions whose evaluation order and copy boundaries are already decided by lowering.
|
Package ir defines Goalchemy's target-independent typed intermediate representation: typed functions made of basic blocks with explicit branch targets, local storage cells, and three-address instructions whose evaluation order and copy boundaries are already decided by lowering. |
|
link
Package link resolves the runtime files a generated program needs and writes them with a build manifest.
|
Package link resolves the runtime files a generated program needs and writes them with a build manifest. |
|
lower
Package lower translates type-checked Goalchemy source into IR.
|
Package lower translates type-checked Goalchemy source into IR. |
|
project
Package project reads goalchemy.yaml, the project configuration that records roots, build tags, the language gate, and target outputs.
|
Package project reads goalchemy.yaml, the project configuration that records roots, build tags, the language gate, and target outputs. |
|
sourcemap
Package sourcemap writes Source Map v3 files mapping generated lines back to Goalchemy source positions.
|
Package sourcemap writes Source Map v3 files mapping generated lines back to Goalchemy source positions. |
|
specgen
Package specgen generates per-target specifications, harness bindings and the runtime library reference from the canonical contract catalog.
|
Package specgen generates per-target specifications, harness bindings and the runtime library reference from the canonical contract catalog. |
|
subset
Package subset validates that type-checked Go source stays within the implemented Goalchemy feature gates.
|
Package subset validates that type-checked Go source stays within the implemented Goalchemy feature gates. |
|
testutil
Package testutil runs language fixtures natively and through Goalchemy targets and compares their observations.
|
Package testutil runs language fixtures natively and through Goalchemy targets and compares their observations. |
|
lib
|
|
|
callback
Package callback declares a bounded asynchronous host callback capability.
|
Package callback declares a bounded asynchronous host callback capability. |
|
checksum
Package checksum provides non-cryptographic checksums backed by host APIs where available.
|
Package checksum provides non-cryptographic checksums backed by host APIs where available. |
|
clock
SPDX-License-Identifier: Apache-2.0 Package clock provides wall time, independent of Goalchemy virtual time.
|
SPDX-License-Identifier: Apache-2.0 Package clock provides wall time, independent of Goalchemy virtual time. |
|
context
Package context provides Goalchemy's cancellation contexts; deadlines use the virtual clock.
|
Package context provides Goalchemy's cancellation contexts; deadlines use the virtual clock. |
|
crypto
SPDX-License-Identifier: Apache-2.0 Package crypto provides bounded native cryptographic capabilities.
|
SPDX-License-Identifier: Apache-2.0 Package crypto provides bounded native cryptographic capabilities. |
|
encoding
SPDX-License-Identifier: Apache-2.0 Package encoding provides canonical RFC 4648 base64 encodings.
|
SPDX-License-Identifier: Apache-2.0 Package encoding provides canonical RFC 4648 base64 encodings. |
|
errors
Package errors provides Goalchemy's error values.
|
Package errors provides Goalchemy's error values. |
|
http
SPDX-License-Identifier: Apache-2.0 Package http provides bounded HTTP exchanges, retaining TLS verification and returning redirect responses without following them.
|
SPDX-License-Identifier: Apache-2.0 Package http provides bounded HTTP exchanges, retaining TLS verification and returning redirect responses without following them. |
|
runtime
Package runtime provides Goalchemy's scheduler controls.
|
Package runtime provides Goalchemy's scheduler controls. |
|
sync
Package sync provides Goalchemy's synchronization primitives.
|
Package sync provides Goalchemy's synchronization primitives. |
|
task
Package task provides structured waiting for Goalchemy programs.
|
Package task provides structured waiting for Goalchemy programs. |
|
time
Package time provides Goalchemy's virtual clock: Sleep advances it deterministically.
|
Package time provides Goalchemy's virtual clock: Sleep advances it deterministically. |
|
std
|
|
|
bytes
Package bytes manipulates byte slices.
|
Package bytes manipulates byte slices. |
|
encoding/binary
Package binary translates between unsigned integers and byte sequences, and encodes varints.
|
Package binary translates between unsigned integers and byte sequences, and encodes varints. |
|
encoding/hex
Package hex encodes and decodes hexadecimal strings.
|
Package hex encodes and decodes hexadecimal strings. |
|
sort
Package sort sorts collections through the Len, Less, and Swap methods.
|
Package sort sorts collections through the Len, Less, and Swap methods. |
|
strconv
Package strconv converts between integers, Booleans, and their string forms.
|
Package strconv converts between integers, Booleans, and their string forms. |
|
strings
Package strings manipulates UTF-8 encoded strings.
|
Package strings manipulates UTF-8 encoded strings. |
|
unicode
Package unicode classifies runes and maps their case using the Unicode tables of the reference Go toolchain.
|
Package unicode classifies runes and maps their case using the Unicode tables of the reference Go toolchain. |
|
unicode/utf8
Package utf8 encodes and decodes UTF-8 text.
|
Package utf8 encodes and decodes UTF-8 text. |
|
targets
|
|
|
go/runtime
Package rt is the Goalchemy runtime for the lowered Go target.
|
Package rt is the Goalchemy runtime for the lowered Go target. |
|
go/tests/harness
command
Command harness serves runtime conformance requests for the Go target over JSON Lines on standard input and output.
|
Command harness serves runtime conformance requests for the Go target over JSON Lines on standard input and output. |
|
tests
|
|
|
corpus/r001_print_tuple
command
|
|
|
corpus/r002_named_map_methods
command
|
|
|
corpus/r003_func_nil_compare
command
|
|
|
corpus/r004_defer_named_results
command
|
|
|
corpus/r005_append_nil_capacity
command
|
|
|
corpus/r006_comma_ok_assert_type
command
|
|
Click to show internal directories.
Click to hide internal directories.